SlideShare una empresa de Scribd logo
Variables predefinidas


Las tablas de valores
                                       Variables de servidor
                                               $_SERVER['COMSPEC']                        $HTTP_SERVER_VARS['COMSPEC']
En las tablas que tenemos aquí a
la derecha estamos viendo –                                     C:WINDOWSCOMMAND.COM
clasificadas por tipos– algunas             $_SERVER['DOCUMENT_ROOT']                 $HTTP_SERVER_VARS['DOCUMENT_ROOT']
variables predefinidas de PHP con
sus valores actuales.                                                     c:/apache/htdocs
                                             $_SERVER['HTTP_ACCEPT']                    $HTTP_SERVER_VARS['HTTP_ACCEPT']
Esta información (variables y
valores) está siendo extraida de la           image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, applica
configuración de tu servidor y de              tion/x-shockwave-flash, application/vnd.ms-powerpoint, appli
este documento.                                 cation/vnd.ms-excel, application/msword, application/x-icq,
                                                                            */*
Es muy probable que esté
llamando tu atención el hecho de         $_SERVER['HTTP_ACCEPT_ENCODING']        $HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING']
que dos nombres de variable                                                 gzip, deflate
distintos compartan el mismo
                                         $_SERVER['HTTP_ACCEPT_LANGUAGE']        $HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE']
valor.
                                                                                 es
Intentaremos ver el por qué de
                                           $_SERVER['HTTP_CONNECTION']             $HTTP_SERVER_VARS['HTTP_CONNECTION']
esa duplicidad.
                                                                             Keep-Alive
Las variables de las columnas de la
izquierda comienzan todas por $_,             $_SERVER['HTTP_HOST']                      $HTTP_SERVER_VARS['HTTP_HOST']
mientras que las de la derecha lo                                             localhost
hacen por $HTTP y eso es algo
                                             $_SERVER['HTTP_REFERER']                  $HTTP_SERVER_VARS['HTTP_REFERER']
muy importante.
                                                     http://localhost/version2006/cursoPHP/php15.php
En el primer caso se alude a las
variables superglobales que                $_SERVER['HTTP_USER_AGENT']             $HTTP_SERVER_VARS['HTTP_USER_AGENT']
hemos comentado en la página                       Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; brip1)
anterior, mientras que en el otro
                                                 $_SERVER['PATH']                           $HTTP_SERVER_VARS['PATH']
las variables no tienen ese
carácter.                              C:WINDOWS;C:WINDOWSCOMMAND;C:ARCHIV~1ARCHIV~1GTK
                                            2.0BIN;C:APACHE;C:APACHEPHP4;C:APACHEPHP5
Razones de la duplicidad                         $_SERVER['PHPRC']                         $HTTP_SERVER_VARS['PHPRC']
                                                                          c:/Apache/php5/
La duplicidad de variables se
                                             $_SERVER['REMOTE_ADDR']                   $HTTP_SERVER_VARS['REMOTE_ADDR']
justifica por lo siguiente: Las
variables superglobales se                                                    127.0.0.1
introdujeron en PHP a partir de la           $_SERVER['REMOTE_PORT']                   $HTTP_SERVER_VARS['REMOTE_PORT']
versión 4.1.0 y no existían con
anterioridad.                                                                   1256
                                            $_SERVER['SCRIPT_FILENAME']               $HTTP_SERVER_VARS['SCRIPT_FILENAME']
Con muy buen criterio, los
desarrolladores PHP optaron por                     c:/apache/htdocs/version2006/cursophp/php16.php
mantener las variables                       $_SERVER['SERVER_ADDR']                   $HTTP_SERVER_VARS['SERVER_ADDR']
predefinidas de las versiones
anteriores para evitar que los                                                127.0.0.1
programadores que migraran sus               $_SERVER['SERVER_ADMIN']                  $HTTP_SERVER_VARS['SERVER_ADMIN']
aplicaciones a estas nuevas
versiones de PHP se vieran                                                pruebas@localhost
obligados a reescribir el código de          $_SERVER['SERVER_NAME']                   $HTTP_SERVER_VARS['SERVER_NAME']
sus scripts.
                                                                              localhost
Es por esta razón, por la que se             $_SERVER['SERVER_PORT']                    $HTTP_SERVER_VARS['SERVER_PORT']
mantienen dos variables distintas
para recoger el mismo valor.                                                     80
                                           $_SERVER['SERVER_SIGNATURE']            $HTTP_SERVER_VARS['SERVER_SIGNATURE']
Observa la sintaxis de los nombres
de las variables y comprobarás la                          Apache/1.3.33 Server at localhost Port 80
similitud que existe entre ambas.
Los corchetes y sus contenidos son
exactamente iguales en ambos               $_SERVER['SERVER_SOFTWARE']             $HTTP_SERVER_VARS['SERVER_SOFTWARE']
casos.
                                                               Apache/1.3.33 (Win32) PHP/4.4.0
Tal es el caso de estas dos, que,               $_SERVER['WINDIR']                        $HTTP_SERVER_VARS['WINDIR']
por cierto, devuelven en número
de la IP a través de la que está                                           C:WINDOWS
accediendo el usuario a nuestro           $_SERVER['GATEWAY_INTERFACE']           $HTTP_SERVER_VARS['GATEWAY_INTERFACE']
servidor:
                                                                              CGI/1.1
$_SERVER['REMOTE_ADDR']                    $_SERVER['SERVER_PROTOCOL']             $HTTP_SERVER_VARS['SERVER_PROTOCOL']
y
$HTTP_SERVER_VARS
                                                                              HTTP/1.1
['REMOTE_ADDR']                            $_SERVER['REQUEST_METHOD']                 $HTTP_SERVER_VARS['REQUEST_METHOD']

cuya similitud resulta evidente.                                                GET
                                             $_SERVER['QUERY_STRING']                  $HTTP_SERVER_VARS['QUERY_STRING']
Aunque los valores de ambas
variables van a ser siempre
idénticos, no ocurre lo mismo con            $_SERVER['REQUEST_URI']                    $HTTP_SERVER_VARS['REQUEST_URI']
su ámbito.
                                                               /version2006/cursoPHP/php16.php
Las primeras son de ámbito                   $_SERVER['SCRIPT_NAME']                    $HTTP_SERVER_VARS['SCRIPT_NAME']
superglobal y no necesitan ser
declaradas expresamente con                                    /version2006/cursoPHP/php16.php
globales cuando se trata de utilizar       $_SERVER['PATH_TRANSLATED']                $HTTP_SERVER_VARS['PATH_TRANSLATED']
sus valores dentro de cualquier
función.                                            c:/apache/htdocs/version2006/cursophp/php16.php
                                               $_SERVER['PHP_SELF']                       $HTTP_SERVER_VARS['PHP_SELF']
En el segundo caso va a ser
imprescindible que sean                                        /version2006/cursoPHP/php16.php
declaradas como globales antes                    $_SERVER['argv']                          $HTTP_SERVER_VARS['argv']
de que sus valores puedan ser
utilizados dentro de una función.
                                               $_SERVER['argc']                               $HTTP_SERVER_VARS['argc']

¿Nombres algo raros?

Probablemente te extrañará –          Variables de entorno
justificadamente– la longitud y la
estructura un tanto rara de estos
                                                 $_ENV['TMP']                                    $HTTP_ENV_VARS['TMP']
nombres de variables. Cuando
tratemos el tema de los arrays                                         C:WINDOWSTEMP
asociativos veremos que esa es la
                                                $_ENV['TEMP']                                    $HTTP_ENV_VARS['TEMP']
sintaxis habitual de ese tipo de
variables.                                                             C:WINDOWSTEMP
                                               $_ENV['PROMPT']                                $HTTP_ENV_VARS['PROMPT']
Las nombres de las variables de
cada uno de los tipos, sólo se                                                   $p$g
diferencian en lo contenido entre
                                              $_ENV['winbootdir']                           $HTTP_ENV_VARS['winbootdir']
los corchetes porque se trata de
distintos elementos del mismo                                              C:WINDOWS
array asociativo y –tal como                  $_ENV['COMSPEC']                               $HTTP_ENV_VARS['COMSPEC']
veremos– esa es la sintaxis típica
de los array.                                                     C:WINDOWSCOMMAND.COM
                                                $_ENV['PATH']                                    $HTTP_ENV_VARS['PATH']
¿Para qué sirven?                     C:WINDOWS;C:WINDOWSCOMMAND;C:ARCHIV~1ARCHIV~1GTK
                                           2.0BIN;C:APACHE;C:APACHEPHP4;C:APACHEPHP5
No vamos a agobiarte con una                    $_ENV['LANG']                                    $HTTP_ENV_VARS['LANG']
enumeración de variables y
contenidos, pero a poco que                                                     Default
observes las tablas de valores te           $_ENV['TVDUMPFLAGS']                          $HTTP_ENV_VARS['TVDUMPFLAGS']
darás cuenta de que es muy
abundante y muy importante la                                                       8
información que recogen.                        $_ENV['windir']                                  $HTTP_ENV_VARS['windir']

Si analizas las variables de                                               C:WINDOWS
servidor te darás cuenta de que               $_ENV['CMDLINE']                               $HTTP_ENV_VARS['CMDLINE']
aparece un montón de información
relativa a su configuración:               START C:ApacheApache.exe -w -f "C:Apacheconfhttpd
nombre, rutas, nombres de                              _modulo4.conf" -d "C:Apache"
páginas, IP del servidor, etcétera.

Con los demás tipos ocurre algo       Variables GLOBALES
similar.
                                                                            $GLOBALS['TMP']

Los distintos tipos                                                    C:WINDOWSTEMP
                                                                            $GLOBALS['TEMP']
Veamos los diferentes tipos de                                         C:WINDOWSTEMP
variables predefinidas que existen
en PHP. Por ahora, no te                                                   $GLOBALS['PROMPT']
preocupes demasiado sobre la                                                     $p$g
forma de utilizarlas. Las incluimos
aquí como una simple                                                      $GLOBALS['winbootdir']
enumeración y con una breve                                                C:WINDOWS
descripción de su utilidad.
                                                                          $GLOBALS['COMSPEC']
En temas posteriores haremos                                      C:WINDOWSCOMMAND.COM
referencia a ellas. Por el momento
nos bastará con conocer su                                                  $GLOBALS['PATH']
existencia.                           C:WINDOWS;C:WINDOWSCOMMAND;C:ARCHIV~1ARCHIV~1GTK
                                           2.0BIN;C:APACHE;C:APACHEPHP4;C:APACHEPHP5
Estamos viendo los valores de las
variables de de entorno (ENV) y                                             $GLOBALS['LANG']
las de servidor (SERVER), pero,                                                 Default
además de ellas, existen algunas
otras cuyos nombres y utilidades                                        $GLOBALS['TVDUMPFLAGS']
vamos a comentarte.                                                                 8
Variables de sesión                                                         $GLOBALS['windir']
                                                                           C:WINDOWS
Las identificaremos por los
nombres $_SESSION o por                                                   $GLOBALS['CMDLINE']
$HTTP_SESSION_VARS.                        START C:ApacheApache.exe -w -f "C:Apacheconfhttpd
Este tipo de variables las                             _modulo4.conf" -d "C:Apache"
utilizaremos cuando hagamos                                            $GLOBALS['DOCUMENT_ROOT']
mención al uso de sesiones.
                                                                          c:/apache/htdocs
La utilización de sesiones –ya                                          $GLOBALS['HTTP_ACCEPT']
abundaremos en ello– es una
forma de recoger, de forma                  image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, applica
temporal en un documento del                 tion/x-shockwave-flash, application/vnd.ms-powerpoint, appli
mismo carácter, información                   cation/vnd.ms-excel, application/msword, application/x-icq,
específica generada a través de los                                       */*
accesos de cada uno de los                                          $GLOBALS['HTTP_ACCEPT_ENCODING']
usuarios.
                                                                             gzip, deflate
Por ejemplo, cuando accedes al                                      $GLOBALS['HTTP_ACCEPT_LANGUAGE']
Aula Virtual de este curso y
escribes tu clave y contraseña se                                                  es
crea un documento temporal en el                                      $GLOBALS['HTTP_CONNECTION']
servidor del CNICE con un número
único y exclusivo para ese acceso –                                           Keep-Alive
identificador de sesión– que te                                          $GLOBALS['HTTP_HOST']
permite acceder a diferentes
apartados de ese espacio sin                                                   localhost
necesidad de que reescribas, en                                         $GLOBALS['HTTP_REFERER']
cada una de las páginas, esos
mismos valores.                                   http://localhost/version2006/cursoPHP/php15.php
                                                                      $GLOBALS['HTTP_USER_AGENT']
El carácter efímero de las sesiones
seguramente lo has comprobado           Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; brip1)
más de una vez cuando al                                    $GLOBALS['PHPRC']
actualizar una página te ha
aparecido un mensaje diciendo que
                                                          c:/Apache/php5/
la sesion ha caducado.                                  $GLOBALS['REMOTE_ADDR']

Variables del método POST                                      127.0.0.1
                                                        $GLOBALS['REMOTE_PORT']
Las identificaremos por los
nombres $HTTP_POST_VARS o                                           1256
por $_POST.                                           $GLOBALS['SCRIPT_FILENAME']

Este tipo de variables –que             c:/apache/htdocs/version2006/cursophp/php16.php
utilizaremos con frecuencia–                            $GLOBALS['SERVER_ADDR']
recogen la información que se
envia desde el cliente para ser                                127.0.0.1
utilizada por el servidor.                              $GLOBALS['SERVER_ADMIN']

Recuerda el carácter dinámico de                         pruebas@localhost
PHP y que ese dinamismo                                 $GLOBALS['SERVER_NAME']
(interacción cliente – servidor)
requiere que el servidor guarde los                                localhost
datos remitidos por el cliente.                         $GLOBALS['SERVER_PORT']

Variables del método GET                                              80
                                                      $GLOBALS['SERVER_SIGNATURE']
Las identificaremos por los
nombres $HTTP_GET_VARS o                      Apache/1.3.33 Server at localhost Port 80
por $_GET

Son muy similares a las anteriores.                   $GLOBALS['SERVER_SOFTWARE']
La existencia de los dos tipos se
justifica porque también existen                 Apache/1.3.33 (Win32) PHP/4.4.0
dos tipos de métodos (maneras)                             $GLOBALS['WINDIR']
de enviar datos desde el cliente
hasta el servidor.                                         C:WINDOWS
                                                     $GLOBALS['GATEWAY_INTERFACE']
Cuando el método de envío es el
llamado GET los datos se recogen                                   CGI/1.1
en variables de este tipo, y, por el                  $GLOBALS['SERVER_PROTOCOL']
contrario, si ese método envío
fuera POST se recogerían en                                    HTTP/1.1
aquellas.                                             $GLOBALS['REQUEST_METHOD']

Variables de transferencia de                                        GET
ficheros                                                $GLOBALS['QUERY_STRING']

Las identificaremos por el nombre
$HTTP_FILES_VARS o por                                  $GLOBALS['REQUEST_URI']
$_FILES.
                                                 /version2006/cursoPHP/php16.php
Para el caso de transferencia de                        $GLOBALS['SCRIPT_NAME']
ficheros desde el cliente al servidor
–«subir ficheros»– es necesario un
                                                 /version2006/cursoPHP/php16.php
procedimiento distinto de los                         $GLOBALS['PATH_TRANSLATED']
anteriores.
                                        c:/apache/htdocs/version2006/cursophp/php16.php
Será en este caso cuando se                               $GLOBALS['PHP_SELF']
utilicen variables de este tipo.
                                                 /version2006/cursoPHP/php16.php
El tipo GLOBALS                                              $GLOBALS['argc']

A diferencia de las anteriores, las                                    0
variables de este tipo disponen de
una sintaxis única –$GLOBALS–
sin que quepa ninguna otra opción.
                                                            $GLOBALS['opcion']
Su finalidad es recoger en una                                         I
tabla los nombres de todas la
                                                           $GLOBALS['anterior']
variables establecidas como
globales –en cada momento– así                                php15.php
como sus valores. Si observas la
                                                          $GLOBALS['siguiente']
tabla que tienes aquí a la derecha,
quizá te sorprenda leer nombre o                              php17.php
página. ¿De donde han salido esos                          $GLOBALS['nombre']
valores?. Bueno... en esta página
utilizamos scripts PHP y esos son                                  nombre
los nombres de unas variables que                           $GLOBALS['clave']
hemos incluido en esos script.
                                                               siguiente
Conocida la existencia de los
diferentes tipos de variables
predefinidas y vista esta tabla –a
modo de ejemplo de su utilidad–
                                                        Anterior     Indice   Siguiente
no será preciso que profundicemos
más en el asunto.

Lo trataremos en el momento en el
que tengamos que hacer uso de
cada una de ellas.

Más contenido relacionado

PDF
19 Php. Utilizando Formularios
ODP
Desarrollo de aplicaciones web usando Catalyst y jQuery
DOCX
Script
PDF
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
PDF
PDF
Manual script usuarios masivos
PPT
El shell-bash
PDF
Clase 2 conceptos fundamentales
19 Php. Utilizando Formularios
Desarrollo de aplicaciones web usando Catalyst y jQuery
Script
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
Manual script usuarios masivos
El shell-bash
Clase 2 conceptos fundamentales

La actualidad más candente (15)

ODP
Desarrollando aplicaciones web usando Catalyst y jQuery
ODP
Desarrollo de aplicaciones web usando Catalyst y jQuery
ODP
Curso Bash 2
PPTX
PHP MYSQL - FIEI-UNFV Clase 01
ODP
Curso Bash 1
ODP
Curso Bash 3
PDF
Jsp directiva page
PDF
Silex, desarrollo web ágil y profesional con PHP
TXT
minas
PDF
Clase 5 controller
PPT
Los scripts de linux
PDF
17 Php. Otras Variables
RTF
Wp config.php
PPTX
Scripts
PDF
Cómo domar SonataAdminBundle
Desarrollando aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQuery
Curso Bash 2
PHP MYSQL - FIEI-UNFV Clase 01
Curso Bash 1
Curso Bash 3
Jsp directiva page
Silex, desarrollo web ágil y profesional con PHP
minas
Clase 5 controller
Los scripts de linux
17 Php. Otras Variables
Wp config.php
Scripts
Cómo domar SonataAdminBundle
Publicidad

Destacado (20)

PPS
Virus Informatico 1960 Diapositivas
PPSX
L’energia.ok
PPT
Planeacion didactica
PPT
Cargador universal
PPTX
2. Eros y episteme
PPSX
Presentació CàMera FotogràFica!!2
PDF
Aprendiendo a trabajar un tercio de siglo después
PPTX
U8 t2 aa1_bucio_casasola
PPS
Sabiduria
PPTX
Las Chicas del Apartamento 512 Presentación de España
PPS
Estrategias Mentales
PDF
Difusión y RP del CIRIA UDLAP
PPS
Ante La Gripe A Paciencia Y Tranquilidad
PPT
PlanificacióN Estratégica
PPT
7 José
PDF
01. Edicion Html. La Base Edicion Html. Etiquetas Meta 0001
PPTX
Portal educativo
PPS
[DestruccióN De Los Humedales Del Caraballo]
PPTX
El Banco De Los Pobres
PDF
10. Edicion Html. Estilos Edicion Html. Aplicar Estilos 0001
Virus Informatico 1960 Diapositivas
L’energia.ok
Planeacion didactica
Cargador universal
2. Eros y episteme
Presentació CàMera FotogràFica!!2
Aprendiendo a trabajar un tercio de siglo después
U8 t2 aa1_bucio_casasola
Sabiduria
Las Chicas del Apartamento 512 Presentación de España
Estrategias Mentales
Difusión y RP del CIRIA UDLAP
Ante La Gripe A Paciencia Y Tranquilidad
PlanificacióN Estratégica
7 José
01. Edicion Html. La Base Edicion Html. Etiquetas Meta 0001
Portal educativo
[DestruccióN De Los Humedales Del Caraballo]
El Banco De Los Pobres
10. Edicion Html. Estilos Edicion Html. Aplicar Estilos 0001
Publicidad

Similar a 16 Php. Variables Predefinidas (20)

DOCX
PDF
95 Php. Instalacion De Php4 Sobre Apache
PPTX
Introducción php
PDF
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PPTX
Programación Server-Side - Intro PHP.pptx
PDF
Curso Php
PDF
05 Php. Configuracion De Php
DOCX
Tipos de variables_en_php
PDF
96 Php. Instalacion De Php5 Sobre Apache 2.0.58
PDF
Programacion - Php
PDF
33 php
PPTX
Introducción a PHP
PDF
Programacion web
PDF
Programacion web
PDF
Programacion web
PDF
Programacion web
PDF
Programacion web
PDF
Programacion web
PDF
Programacion web
PDF
Programacion web
95 Php. Instalacion De Php4 Sobre Apache
Introducción php
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
Programación Server-Side - Intro PHP.pptx
Curso Php
05 Php. Configuracion De Php
Tipos de variables_en_php
96 Php. Instalacion De Php5 Sobre Apache 2.0.58
Programacion - Php
33 php
Introducción a PHP
Programacion web
Programacion web
Programacion web
Programacion web
Programacion web
Programacion web
Programacion web
Programacion web

Más de José M. Padilla (20)

PDF
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
PDF
Manual multimedia y web 2.0
PDF
Guia optimizacion motores_busqueda
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
PDF
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
PDF
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
PDF
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
PDF
00 Sonido y musica por ordenador. Guia del alumno.
PDF
00 Sonido y musica por ordenador. Caso 20
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Manual multimedia y web 2.0
Guia optimizacion motores_busqueda
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Caso 20

Último (20)

PDF
Diapositiva proyecto de vida, materia catedra
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPT
Que son las redes de computadores y sus partes
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
Presentación de Redes de Datos modelo osi
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
clase auditoria informatica 2025.........
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
Diapositiva proyecto de vida, materia catedra
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Estrategia de apoyo tecnología grado 9-3
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Que son las redes de computadores y sus partes
Zarate Quispe Alex aldayir aplicaciones de internet .docx
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Sesion 1 de microsoft power point - Clase 1
Presentación de Redes de Datos modelo osi
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx
Estrategia de apoyo tecnología miguel angel solis
historia_web de la creacion de un navegador_presentacion.pptx
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
clase auditoria informatica 2025.........
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Power Point Nicolás Carrasco (disertación Roblox).pptx

16 Php. Variables Predefinidas

  • 1. Variables predefinidas Las tablas de valores Variables de servidor $_SERVER['COMSPEC'] $HTTP_SERVER_VARS['COMSPEC'] En las tablas que tenemos aquí a la derecha estamos viendo – C:WINDOWSCOMMAND.COM clasificadas por tipos– algunas $_SERVER['DOCUMENT_ROOT'] $HTTP_SERVER_VARS['DOCUMENT_ROOT'] variables predefinidas de PHP con sus valores actuales. c:/apache/htdocs $_SERVER['HTTP_ACCEPT'] $HTTP_SERVER_VARS['HTTP_ACCEPT'] Esta información (variables y valores) está siendo extraida de la image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, applica configuración de tu servidor y de tion/x-shockwave-flash, application/vnd.ms-powerpoint, appli este documento. cation/vnd.ms-excel, application/msword, application/x-icq, */* Es muy probable que esté llamando tu atención el hecho de $_SERVER['HTTP_ACCEPT_ENCODING'] $HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'] que dos nombres de variable gzip, deflate distintos compartan el mismo $_SERVER['HTTP_ACCEPT_LANGUAGE'] $HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'] valor. es Intentaremos ver el por qué de $_SERVER['HTTP_CONNECTION'] $HTTP_SERVER_VARS['HTTP_CONNECTION'] esa duplicidad. Keep-Alive Las variables de las columnas de la izquierda comienzan todas por $_, $_SERVER['HTTP_HOST'] $HTTP_SERVER_VARS['HTTP_HOST'] mientras que las de la derecha lo localhost hacen por $HTTP y eso es algo $_SERVER['HTTP_REFERER'] $HTTP_SERVER_VARS['HTTP_REFERER'] muy importante. http://localhost/version2006/cursoPHP/php15.php En el primer caso se alude a las variables superglobales que $_SERVER['HTTP_USER_AGENT'] $HTTP_SERVER_VARS['HTTP_USER_AGENT'] hemos comentado en la página Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; brip1) anterior, mientras que en el otro $_SERVER['PATH'] $HTTP_SERVER_VARS['PATH'] las variables no tienen ese carácter. C:WINDOWS;C:WINDOWSCOMMAND;C:ARCHIV~1ARCHIV~1GTK 2.0BIN;C:APACHE;C:APACHEPHP4;C:APACHEPHP5 Razones de la duplicidad $_SERVER['PHPRC'] $HTTP_SERVER_VARS['PHPRC'] c:/Apache/php5/ La duplicidad de variables se $_SERVER['REMOTE_ADDR'] $HTTP_SERVER_VARS['REMOTE_ADDR'] justifica por lo siguiente: Las variables superglobales se 127.0.0.1 introdujeron en PHP a partir de la $_SERVER['REMOTE_PORT'] $HTTP_SERVER_VARS['REMOTE_PORT'] versión 4.1.0 y no existían con anterioridad. 1256 $_SERVER['SCRIPT_FILENAME'] $HTTP_SERVER_VARS['SCRIPT_FILENAME'] Con muy buen criterio, los desarrolladores PHP optaron por c:/apache/htdocs/version2006/cursophp/php16.php mantener las variables $_SERVER['SERVER_ADDR'] $HTTP_SERVER_VARS['SERVER_ADDR'] predefinidas de las versiones anteriores para evitar que los 127.0.0.1 programadores que migraran sus $_SERVER['SERVER_ADMIN'] $HTTP_SERVER_VARS['SERVER_ADMIN'] aplicaciones a estas nuevas versiones de PHP se vieran pruebas@localhost obligados a reescribir el código de $_SERVER['SERVER_NAME'] $HTTP_SERVER_VARS['SERVER_NAME'] sus scripts. localhost Es por esta razón, por la que se $_SERVER['SERVER_PORT'] $HTTP_SERVER_VARS['SERVER_PORT'] mantienen dos variables distintas para recoger el mismo valor. 80 $_SERVER['SERVER_SIGNATURE'] $HTTP_SERVER_VARS['SERVER_SIGNATURE'] Observa la sintaxis de los nombres de las variables y comprobarás la Apache/1.3.33 Server at localhost Port 80 similitud que existe entre ambas. Los corchetes y sus contenidos son exactamente iguales en ambos $_SERVER['SERVER_SOFTWARE'] $HTTP_SERVER_VARS['SERVER_SOFTWARE'] casos. Apache/1.3.33 (Win32) PHP/4.4.0 Tal es el caso de estas dos, que, $_SERVER['WINDIR'] $HTTP_SERVER_VARS['WINDIR'] por cierto, devuelven en número de la IP a través de la que está C:WINDOWS accediendo el usuario a nuestro $_SERVER['GATEWAY_INTERFACE'] $HTTP_SERVER_VARS['GATEWAY_INTERFACE'] servidor: CGI/1.1 $_SERVER['REMOTE_ADDR'] $_SERVER['SERVER_PROTOCOL'] $HTTP_SERVER_VARS['SERVER_PROTOCOL'] y $HTTP_SERVER_VARS HTTP/1.1 ['REMOTE_ADDR'] $_SERVER['REQUEST_METHOD'] $HTTP_SERVER_VARS['REQUEST_METHOD'] cuya similitud resulta evidente. GET $_SERVER['QUERY_STRING'] $HTTP_SERVER_VARS['QUERY_STRING'] Aunque los valores de ambas variables van a ser siempre idénticos, no ocurre lo mismo con $_SERVER['REQUEST_URI'] $HTTP_SERVER_VARS['REQUEST_URI'] su ámbito. /version2006/cursoPHP/php16.php Las primeras son de ámbito $_SERVER['SCRIPT_NAME'] $HTTP_SERVER_VARS['SCRIPT_NAME'] superglobal y no necesitan ser declaradas expresamente con /version2006/cursoPHP/php16.php globales cuando se trata de utilizar $_SERVER['PATH_TRANSLATED'] $HTTP_SERVER_VARS['PATH_TRANSLATED'] sus valores dentro de cualquier función. c:/apache/htdocs/version2006/cursophp/php16.php $_SERVER['PHP_SELF'] $HTTP_SERVER_VARS['PHP_SELF'] En el segundo caso va a ser imprescindible que sean /version2006/cursoPHP/php16.php declaradas como globales antes $_SERVER['argv'] $HTTP_SERVER_VARS['argv']
  • 2. de que sus valores puedan ser utilizados dentro de una función. $_SERVER['argc'] $HTTP_SERVER_VARS['argc'] ¿Nombres algo raros? Probablemente te extrañará – Variables de entorno justificadamente– la longitud y la estructura un tanto rara de estos $_ENV['TMP'] $HTTP_ENV_VARS['TMP'] nombres de variables. Cuando tratemos el tema de los arrays C:WINDOWSTEMP asociativos veremos que esa es la $_ENV['TEMP'] $HTTP_ENV_VARS['TEMP'] sintaxis habitual de ese tipo de variables. C:WINDOWSTEMP $_ENV['PROMPT'] $HTTP_ENV_VARS['PROMPT'] Las nombres de las variables de cada uno de los tipos, sólo se $p$g diferencian en lo contenido entre $_ENV['winbootdir'] $HTTP_ENV_VARS['winbootdir'] los corchetes porque se trata de distintos elementos del mismo C:WINDOWS array asociativo y –tal como $_ENV['COMSPEC'] $HTTP_ENV_VARS['COMSPEC'] veremos– esa es la sintaxis típica de los array. C:WINDOWSCOMMAND.COM $_ENV['PATH'] $HTTP_ENV_VARS['PATH'] ¿Para qué sirven? C:WINDOWS;C:WINDOWSCOMMAND;C:ARCHIV~1ARCHIV~1GTK 2.0BIN;C:APACHE;C:APACHEPHP4;C:APACHEPHP5 No vamos a agobiarte con una $_ENV['LANG'] $HTTP_ENV_VARS['LANG'] enumeración de variables y contenidos, pero a poco que Default observes las tablas de valores te $_ENV['TVDUMPFLAGS'] $HTTP_ENV_VARS['TVDUMPFLAGS'] darás cuenta de que es muy abundante y muy importante la 8 información que recogen. $_ENV['windir'] $HTTP_ENV_VARS['windir'] Si analizas las variables de C:WINDOWS servidor te darás cuenta de que $_ENV['CMDLINE'] $HTTP_ENV_VARS['CMDLINE'] aparece un montón de información relativa a su configuración: START C:ApacheApache.exe -w -f "C:Apacheconfhttpd nombre, rutas, nombres de _modulo4.conf" -d "C:Apache" páginas, IP del servidor, etcétera. Con los demás tipos ocurre algo Variables GLOBALES similar. $GLOBALS['TMP'] Los distintos tipos C:WINDOWSTEMP $GLOBALS['TEMP'] Veamos los diferentes tipos de C:WINDOWSTEMP variables predefinidas que existen en PHP. Por ahora, no te $GLOBALS['PROMPT'] preocupes demasiado sobre la $p$g forma de utilizarlas. Las incluimos aquí como una simple $GLOBALS['winbootdir'] enumeración y con una breve C:WINDOWS descripción de su utilidad. $GLOBALS['COMSPEC'] En temas posteriores haremos C:WINDOWSCOMMAND.COM referencia a ellas. Por el momento nos bastará con conocer su $GLOBALS['PATH'] existencia. C:WINDOWS;C:WINDOWSCOMMAND;C:ARCHIV~1ARCHIV~1GTK 2.0BIN;C:APACHE;C:APACHEPHP4;C:APACHEPHP5 Estamos viendo los valores de las variables de de entorno (ENV) y $GLOBALS['LANG'] las de servidor (SERVER), pero, Default además de ellas, existen algunas otras cuyos nombres y utilidades $GLOBALS['TVDUMPFLAGS'] vamos a comentarte. 8 Variables de sesión $GLOBALS['windir'] C:WINDOWS Las identificaremos por los nombres $_SESSION o por $GLOBALS['CMDLINE'] $HTTP_SESSION_VARS. START C:ApacheApache.exe -w -f "C:Apacheconfhttpd Este tipo de variables las _modulo4.conf" -d "C:Apache" utilizaremos cuando hagamos $GLOBALS['DOCUMENT_ROOT'] mención al uso de sesiones. c:/apache/htdocs La utilización de sesiones –ya $GLOBALS['HTTP_ACCEPT'] abundaremos en ello– es una forma de recoger, de forma image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, applica temporal en un documento del tion/x-shockwave-flash, application/vnd.ms-powerpoint, appli mismo carácter, información cation/vnd.ms-excel, application/msword, application/x-icq, específica generada a través de los */* accesos de cada uno de los $GLOBALS['HTTP_ACCEPT_ENCODING'] usuarios. gzip, deflate Por ejemplo, cuando accedes al $GLOBALS['HTTP_ACCEPT_LANGUAGE'] Aula Virtual de este curso y escribes tu clave y contraseña se es crea un documento temporal en el $GLOBALS['HTTP_CONNECTION'] servidor del CNICE con un número único y exclusivo para ese acceso – Keep-Alive identificador de sesión– que te $GLOBALS['HTTP_HOST'] permite acceder a diferentes apartados de ese espacio sin localhost necesidad de que reescribas, en $GLOBALS['HTTP_REFERER'] cada una de las páginas, esos mismos valores. http://localhost/version2006/cursoPHP/php15.php $GLOBALS['HTTP_USER_AGENT']
  • 3. El carácter efímero de las sesiones seguramente lo has comprobado Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; brip1) más de una vez cuando al $GLOBALS['PHPRC'] actualizar una página te ha aparecido un mensaje diciendo que c:/Apache/php5/ la sesion ha caducado. $GLOBALS['REMOTE_ADDR'] Variables del método POST 127.0.0.1 $GLOBALS['REMOTE_PORT'] Las identificaremos por los nombres $HTTP_POST_VARS o 1256 por $_POST. $GLOBALS['SCRIPT_FILENAME'] Este tipo de variables –que c:/apache/htdocs/version2006/cursophp/php16.php utilizaremos con frecuencia– $GLOBALS['SERVER_ADDR'] recogen la información que se envia desde el cliente para ser 127.0.0.1 utilizada por el servidor. $GLOBALS['SERVER_ADMIN'] Recuerda el carácter dinámico de pruebas@localhost PHP y que ese dinamismo $GLOBALS['SERVER_NAME'] (interacción cliente – servidor) requiere que el servidor guarde los localhost datos remitidos por el cliente. $GLOBALS['SERVER_PORT'] Variables del método GET 80 $GLOBALS['SERVER_SIGNATURE'] Las identificaremos por los nombres $HTTP_GET_VARS o Apache/1.3.33 Server at localhost Port 80 por $_GET Son muy similares a las anteriores. $GLOBALS['SERVER_SOFTWARE'] La existencia de los dos tipos se justifica porque también existen Apache/1.3.33 (Win32) PHP/4.4.0 dos tipos de métodos (maneras) $GLOBALS['WINDIR'] de enviar datos desde el cliente hasta el servidor. C:WINDOWS $GLOBALS['GATEWAY_INTERFACE'] Cuando el método de envío es el llamado GET los datos se recogen CGI/1.1 en variables de este tipo, y, por el $GLOBALS['SERVER_PROTOCOL'] contrario, si ese método envío fuera POST se recogerían en HTTP/1.1 aquellas. $GLOBALS['REQUEST_METHOD'] Variables de transferencia de GET ficheros $GLOBALS['QUERY_STRING'] Las identificaremos por el nombre $HTTP_FILES_VARS o por $GLOBALS['REQUEST_URI'] $_FILES. /version2006/cursoPHP/php16.php Para el caso de transferencia de $GLOBALS['SCRIPT_NAME'] ficheros desde el cliente al servidor –«subir ficheros»– es necesario un /version2006/cursoPHP/php16.php procedimiento distinto de los $GLOBALS['PATH_TRANSLATED'] anteriores. c:/apache/htdocs/version2006/cursophp/php16.php Será en este caso cuando se $GLOBALS['PHP_SELF'] utilicen variables de este tipo. /version2006/cursoPHP/php16.php El tipo GLOBALS $GLOBALS['argc'] A diferencia de las anteriores, las 0 variables de este tipo disponen de una sintaxis única –$GLOBALS– sin que quepa ninguna otra opción. $GLOBALS['opcion'] Su finalidad es recoger en una I tabla los nombres de todas la $GLOBALS['anterior'] variables establecidas como globales –en cada momento– así php15.php como sus valores. Si observas la $GLOBALS['siguiente'] tabla que tienes aquí a la derecha, quizá te sorprenda leer nombre o php17.php página. ¿De donde han salido esos $GLOBALS['nombre'] valores?. Bueno... en esta página utilizamos scripts PHP y esos son nombre los nombres de unas variables que $GLOBALS['clave'] hemos incluido en esos script. siguiente Conocida la existencia de los diferentes tipos de variables predefinidas y vista esta tabla –a modo de ejemplo de su utilidad– Anterior Indice Siguiente no será preciso que profundicemos más en el asunto. Lo trataremos en el momento en el que tengamos que hacer uso de cada una de ellas.