Manual PHP (Parte 1) - 2ºDAM
Manual PHP (Parte 1) - 2ºDAM
PROGRAMACIÓN WEB
PHP
(1º Parte)
Índice
1. Introducción ................................................................................................................................. 2
1.1. ¿Qué es PHP? ........................................................................................................................... 2
1.2. Características de PHP ..........................................................................................................2
1.3. Cómo funciona PHP...............................................................................................................3
1.4. Qué puedo hacer con PHP ....................................................................................................3
1.5. Qué se necesita para comenzar a utilizar PHP ....................................................................3
2. Referencias básicas del lenguaje ................................................................................................ 4
2.1. Sintaxis básica .......................................................................................................................4
2.2. Instrucciones echo y print ................................................................................................. 5
2.3. Instrucciones printf y sprintf ................................................................................................7
2.4. Variables ................................................................................................................................8
2.4.1. Reglas para crear variables PHP ....................................................................................8
2.4.2. Tipos de datos ................................................................................................................8
2.4.3. Ámbito de las variables .............................................................................................. 10
2.5. Conversiones numéricas .......................................................................................................13
2.6. Constantes .......................................................................................................................... 13
2.7. Operadores ......................................................................................................................... 14
2.8. Estructuras de control ........................................................................................................ 16
2.8.1. Condicionales .............................................................................................................. 16
2.8.2. Bucles e iteraciones .................................................................................................... 18
2.9. Funciones de usuario ......................................................................................................... 20
2.9.1. Paso de parámetros .................................................................................................... 20
2.9.2. Devolución de valores................................................................................................. 21
2.10. Variables SUPERGLOBALES .............................................................................................. 21
3. Funciones ................................................................................................................................... 27
3.1. Funciones para manejo de variables ................................................................................. 27
3.2. Funciones para strings ....................................................................................................... 28
3.3. Funciones para arrays ........................................................................................................ 31
3.4. Funciones matemáticas.........................................................................................................35
1
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
1. Introducción
1.1. ¿Qué es PHP?
PHP es un lenguaje de scripting que permite la generación dinámica de contenidos en un servidor web.
El significado de sus siglas es HyperText Preprocessor. Entre sus principales características cabe destacar
su potencia, su alto rendimiento, su facilidad de aprendizaje y su escasez de consumo de recursos.
2
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Para hacer los ejercicios de PHP instalaremos un servidor web local en nuestro equipo con todo lo
necesario. Se recomienda descargar e instalar alguna solución como XAMPP o similar.
NOTA: XAMPP es un paquete de software libre, que consiste principalmente en el sistema de gestión
de bases de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script PHP y
Perl. XAMPP tiene la ventaja de que facilita enormemente la instalación y configuración de todas las
tecnologías en muy poco tiempo con tan solo unos clics, frente a la opción de tener que descargar e
instalar cada componente por separado y tener que crear o editar sus ficheros de configuración
manualmente.
3
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Los archivos PHP además del propio código PHP pueden contener código HTML, CSS y JavaScript.
Ejemplo: Script PHP que muestra el mensaje de texto “¡Hola Mundo!” en una página web
<!DOCTYPE html>
<html>
<body>
<?php
echo "¡Hola Mundo!";
?>
</body>
</html>
Separación de instrucciones
Las instrucciones PHP terminan con el carácter punto y coma (;). En el caso de la etiqueta de cierre de
un bloque de código de PHP automáticamente implica un punto y coma; no es necesario usar un punto
y coma para cerrar la última línea de un bloque de PHP.
Ejemplo: Instrucción PHP que NO requiere terminar con carácter punto y coma (;) ya que la etiqueta
de cierre de un bloque de código PHP implica un punto y coma
<?php echo 'Esto es una prueba' ?>
4
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Ejemplo: Las tres sentencias echo funcionan correctamente ya que no distingue entre mayúsculas y
minúsculas.
<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
<?php
echo "¡Hola Mundo!";
Echo "¡Hola Mundo!";
ECHO "¡Hola Mundo!";
?>
</body>
</html>
Comentarios
PHP admite los siguientes tipos de comentarios:
<?php
// Comentario de una línea
/* Comentario de
varias líneas */
NOTA: Existen otras formas más avanzadas de mostrar una salida como son printf y sprintf.
Instrucción echo
La instrucción echo se puede usar con o sin paréntesis: echo o echo ().
5
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Instrucción print
La instrucción print se puede usar con o sin paréntesis: print o print ().
6
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Cada especificador de conversión va precedido del caracter % y debe indicar de que tipo es. Es decir,
debe indicar cómo se debe tratar el valor del parámetro correspondiente. En la siguiente tabla se
muestra una lista con todos los especificadores de tipo.
La función sprintf es similar a printf pero en vez de generar una salida con la cadena obtenida,
permite guardarla en una variable. Es decir, la diferencia entre printf y sprintf es que printf
imprime directamente el mensaje formateado, mientras que sprintf regresa una cadena que incluye
el mensaje formateado.
7
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
2.4. Variables
En PHP (al igual que en JavaScript) no hace falta declarar la variable ya que simplemente anteponiendo
el caracter $ al nombre de la variable estamos indicando que es una variable.
- string
- integer
- float (también llamado double)
- boolean
- array
- object
- NULL
- resource
8
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
NOTA: El tipo de dato NULL es un tipo de datos especial que solo puede tener un valor: NULL. Una
variable de tipo de datos NULL es una variable que no tiene ningún valor asignado. Si se crea una
variable sin un valor, se le asigna automáticamente un valor NULL.
NOTA: El tipo de dato resource no es un tipo de datos común como string o integer. Es el
almacenamiento de una referencia a funciones y recursos externos a PHP. Un ejemplo común del uso
del tipo de datos resource es una llamada a la base de datos.
Arrays
En PHP, hay tres tipos de arrays:
Para recorrer e imprimir todos los valores de una array asociativo, se puede usar un bucle foreach,
como este:
<?php
$edad = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
9
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Ahora el array bidimensional $coches contiene cuatro arrays y tiene dos índices: fila y columna. Para
obtener acceso a los elementos de $coches se debe señalar los dos índices (fila y columna):
echo $coches[0][0].": En stock: ".$coches[0][1].", vendidos: ".$coches[0][2].".<br>";
echo $coches[1][0].": En stock: ".$coches[1][1].", vendidos: ".$coches[1][2].".<br>";
echo $coches[2][0].": En stock: ".$coches[2][1].", vendidos: ".$coches[2][2].".<br>";
echo $coches[3][0].": En stock: ".$coches[3][1].", vendidos: ".$coches[3][2].".<br>";
- local: se trata de las variables declaradas dentro de una función. Dichas variables solo pueden
ser accedidas desde la propia función.
- global: se trata de las variables declaradas fuera de una función. Su ámbito es todo el script
excepto desde dentro de las funciones. Es decir, dichas variables NO pueden ser accedidas
desde dentro las funciones (a no ser que se utilice la palabra global)
- static: se trata de variables que se declaran dentro de una función pero que no se quiere que
se pierda su valor al finalizar la ejecución de la función. Para ello se utiliza la palabra clave
static
10
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Una variable declarada fuera de una función tiene un ámbito global y solo se puede acceder desde fuera
de una función:
function prueba() {
// Accediendo a $x dentro de la función generará un error
echo "<p>Variable x dentro de la función es: $x</p>";
}
prueba();
Una variable declarada dentro de una función tiene un ámbito local y solo se puede acceder dentro de
esa función:
<?php
function prueba() {
$x = 5; // ámbito local
echo "<p>Variable x dentro de la función es: $x</p>";
}
prueba();
NOTA: Se pueden tener variables locales con el mismo nombre en diferentes funciones, porque las
variables locales solo se reconocen dentro de la función en la que se han declarado.
NOTA: Se puede tener una variable local con el mismo nombre que otra variable declarada en ámbito
global, porque la variable local solo se reconoce dentro de la función en la que se ha declarado.
11
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
La palabra clave global se usa para acceder a una variable global desde dentro de una función. Para
hacer esto, hay que usar la palabra clave global antes de las variables (dentro de la función):
Ejemplo:
<?php
$x = 5;
$y = 10;
function myTest() {
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // Salida 15
?>
NOTA: PHP también almacena todas las variables globales en un array llamado $GLOBALS[index]. El
índice contiene el nombre de la variable. También se puede acceder a este array desde las funciones y
se puede usar para actualizar las variables globales directamente. En apartados posteriores se
profundizará sobre el uso de la variable $GLOBALS y otras variables superglobales (ver apartado 2.12).
function myTest() {
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y; // Salida 15
?>
Normalmente, cuando finaliza la ejecución de una función, se eliminan todas sus variables. Sin embargo,
a veces queremos que NO se elimine una variable local porque necesitamos utilizarla para otra tarea
posterior. Para hacer esto, se usa la palabra clave static cuando se declara la variable por primera vez:
Ejemplo:
<?php Salida:
function myTest() {
static $x = 0;
echo $x;
$x++;
}
myTest();
echo "<br>";
myTest();
echo "<br>";
myTest();
?>
12
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Ejemplo: Convierte una variable de tipo float y una variable de tipo cadena a int:
<?php
// Convierte un float a int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;
echo "<br>";
2.6. Constantes
PHP permite crear constantes, es decir, variables con valores que no pueden ser modificados.
Parámetros:
NOTA: A diferencia de las variables, las constantes son automáticamente globales en todo el script.
13
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
2.7. Operadores
PHP tiene los siguientes tipos de operadores:
• Operadores aritméticos
• Operadores de asignación
• Operadores de comparación
• Operadores de incremento/decremento
• Operadores lógicos
• Operadores de cadenas
• Operadores de arrays
Operadores aritméticos
Operador Nombre Ejemplo Descripción
+ Suma $x + $y Suma de $x y $y
- Resta $x - $y Resta de $x y $y
* Multiplicación $x * $y Multiplicación de $x y $y
/ División $x / $y División de $x y $y
% Módulo $x % $y Resto de divider $x entre $y
** Exponenciación $x ** $y Resultado de elevar $x a la potencia $y
Operadores de asignación
Operador Asignación Igual que… Descripción
= x=y x=y El operando de la izquierda toma el valor de
la expresión de la derecha
+= x += y x=x+y Suma
-= x -= y x=x-y Resta
*= x *= y x=x*y Multiplicación
/= x /= y x=x/y División
%= x %= y x=x%y Módulo
Operadores de comparación
Operador Nombre Ejemplo Descripción
== Igual $x == $y Devuelve true si $x es igual a $y
=== Idéntico $x === $y Devuelve true si $x es igual a $y, y ambos
son del mismo tipo
!= Distinto $x != $y Devuelve true si $x no es igual a $y
<> Distinto $x <> $y Devuelve true si $x no es igual a $y
!== No idéntico $x !== $y Devuelve true si $x no es igual a $y, o ambos
no son del mismo tipo
> Mayor que $x > $y Devuelve true si $x es mayor que $y
< Menor que $x < $y Devuelve true si $x es menor que $y
>= Mayor o igual que $x >= $y Devuelve true si $x es mayor o igual que $y
<= Menor o igual que $x <= $y Devuelve true si $x es menor o igual que $y
14
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Operadores de incremento/decremento
Operador Nombre Descripción
++$x Preincremento Incrementa $x en uno y después devuelve $x
$x++ Postincremento Devuelve $x y después incrementa $x en uno
--$x Predecremento Decrementa $x en uno y devuelve $x
$x-- Postdecremento Devuelve $x, y después decrementa $x en uno
Operadores lógicos
Operador Nombre Ejemplo Descripción
and And $x and $y Verdadero si $x e $y son verdad
or Or $x or $y Verdadero si $x o $y son verdad
xor Xor $x xor $y Verdadero si $x o $y son verdad, pero no ambos
&& And $x && $y Verdadero si $x e $y son verdad
|| Or $x || $y Verdadero si $x o $y is verdad
! Not !$x Verdadero si $x no es verdad
Operadores de cadenas
Operador Nombre Ejemplo Descripción
. Concatenación $txt1 . $txt2 Concatena $txt1 y $txt2
Operadores de arrays
Operador Nombre Ejemplo Descripción
+ Union $x + $y Union de $x e $y
== Igual $x == $y Devuelve verdad si $x e $y tienen los
mismos pares de clave/valor.
=== Idéntico $x === $y Devuelve verdad si $x e $y tienen los
mismos pares de clave/valor en el mismo
orden y del mismo tipo.
!= Distinto $x != $y Devuelve verdad si $x no es igual a $y
<> Distinto $x <> $y Devuelve verdad si $x no es igual a $y
!== No idéntico $x !== $y Devuelve verdad si $x no es idéntico a $y
15
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
2.8.1. Condicionales
Las estructuras de control condicionales son:
Condicional if
La estructura de control if evalúa una condición y si se cumple se ejecutan las acciones contenidas en el
if
Ejemplo:
<?php
$nota = 7;
Condicional if / else
La estructura condicional if/else es una estructura condicional doble. Si la condición es verdadera se
ejecuta el bloque de sentencias asociadas al if, en caso de que sea falsa la condición se ejecuta la
sentencia asociada al else.
Ejemplo:
<?php
$nota = 7;
// Condición
if ($nota < 5) {
// nota es menor que 5
echo "¡Estoy suspenso!";
}
else {
// nota es mayor o igual que 5
echo "¡Estoy aprobado!";
}
?>
16
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Ejemplo:
<?php
$nota = 7;
// Condición
if ($nota < 5) {
$calificacion = 'Insuficiente';
}
elseif ($nota < 6) {
$calificación = 'Suficiente';
}
elseif ($nota < 7) {
$calificacion = 'Bien';
}
elseif ($nota < 9) {
$calificacion = 'Notable';
}
else {
$calificacion = 'Sobresaliente';
}
Condicional switch
La estructura de control switch permite definir casos específicos a realizar en el caso de que la variable
expuesta como condición sea igual a los valores que se especifican a continuación mediante los case.
Ejemplo:
<?php
$nota = 7;
switch ($nota) {
case 10:
case 9:
$calificacion = 'Sobresaliente';
break;
case 8:
case 7:
$calificacion = 'Notable';
break;
case 6:
$calificacion = 'Bien';
break;
case 5:
$calificacion = 'Suficiente';
break;
case 4:
case 3:
case 2:
case 1:
case 0:
17
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
$calificacion = 'Insuficiente';
break;
default: // Cualquier otro caso
$calificacion = 'Nota errónea';
break;
}
Este ejemplo no es exactamente equivalente al anterior. Este ejemplo funcionaría si sólo permitimos
notas que sean números enteros, es decir, números del 0 al 10, sin decimales. En el caso de que nota
tuviera por ejemplo, el valor 7.5, mostraría Nota errónea.
Se puede observar también que al final de cada case es necesario indicar un break para salir del switch.
En el caso que no sea haga, el programa saltará al siguiente caso, aunque no se cumpla la condición
específica.
▪ Condición: Al igual que en los if, en los bucles se va a evaluar una condición para saber si se debe
repetir el bucle o finalizarlo. Generalmente, si la condición es verdadera, se repite. Si es falsa, se
finaliza.
▪ Iteración: Cada repetición de un bucle se denomina iteración. Por ejemplo, si un bucle repite
una acción 10 veces, se dice que tiene 10 iteraciones.
▪ Contador: Muchas veces, los bucles tienen una variable que se denomina contador, porque
cuenta el número de repeticiones que ha hecho, para finalizar desde que llegue a un número
concreto. Dicha variable hay que inicializarla (crearla y darle un valor) antes de comenzar el
bucle.
▪ Incremento: Cada vez que terminemos un bucle se suele realizar el incremento (o decremento)
de una variable, generalmente la denominada variable contador.
18
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
▪ Bucle infinito: Es lo que ocurre si en un bucle se nos olvida incrementar la variable contador o
escribimos una condición que nunca se puede dar. El bucle se queda eternamente repitiéndose
y el programa se queda «colgado».
Bucle while
Ejemplo:
<?php
$i = 0; // Inicialización de la variable contador
// Condición: Mientras la variable contador sea menor de 5
while ($i < 5) {
echo "Valor de i: $i <br>";
$i = $i + 1; // Incrementamos el valor de i
}
?>
A continuación, se muestran los valores de i y el resultado de la condición en cada una de las iteraciones
del bucle.
Bucle for
El bucle for se utiliza exactamente igual que en otros lenguajes como Java o C/C++.
Ejemplo:
// for (inicialización; condición; incremento)
for ($i = 0; $i < 5; $i++) {
echo "Valor de i: ' .$i";
}
Bucle foreach
El bucle foreach ejecuta un bloque de código para cada elemento de un array. El bucle foreach solo
funciona con arrays.
Ejemplo:
<?php
$colores = array("red", "green", "blue", "yellow");
Las funciones nos permiten agrupar líneas de código en tareas con un nombre, para que,
posteriormente, podamos hacer referencia a ese nombre para realizar todo lo que se agrupe en dicha
tarea. Para crear nuestras propias funciones hay que hacer 2 cosas:
▪ Declarar la función: Preparar la función, darle un nombre y decirle las tareas que realizará.
▪ Ejecutar la función: «Llamar» a la función para que realice las tareas de su contenido.
La declaración de una función definida por el usuario comienza con la palabra function:
function nombreFunción() {
instrucciones;
}
NOTA: Las palabras clave, las clases, las funciones y las funciones definidas por el usuario NO son
sensibles a mayúsculas/minúsculas.
<?php
//Declaración de la función
function muestraSaludo() {
echo "Hola mundo!";
}
// Declaración
function tablaMultiplicar($tabla, $hasta) {
for ($i = 0; $i <= $hasta; $i++)
echo "$tabla x $i = " .$tabla*$i. "<br>";
}
// Ejecución
tablaMultiplicar(1, 10); // Tabla del 1
?>
20
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
// Ejecución
tablaMultiplicar(2); // Esta tabla llegará hasta el número 10
tablaMultiplicar(2, 15); // Esta tabla llegará hasta el número 15
?>
// Ejecución
$resultado = sumar(5, 5); // Se guarda 10 en la variable resultado
?>
21
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Variable $GLOBALS
Almacena todas las variables globales en un array llamado $GLOBALS[indice]. El índice contiene el
nombre de la variable. Se puede acceder a este array desde las funciones y se puede usar para actualizar
las variables globales directamente
Ejemplo:
<?php
$x = 75;
$y = 25;
function suma() {
$GLOBALS['resultado'] = $GLOBALS['x'] + $GLOBALS['y'];
}
suma();
echo $resultado;
?>
Variable $_SERVER
Es un array que contiene información, tales como cabeceras, rutas y ubicaciones de script. Las entradas
de este array son creadas por el servidor web.
La siguiente tabla enumera los elementos más importantes que pueden ir dentro del array $_SERVER:
Elemento Descripción
$_SERVER['PHP_SELF'] Devuelve el nombre de archivo del script que se está
ejecutando actualmente
$_SERVER['GATEWAY_INTERFACE'] Devuelve la versión de la Interfaz de puerta de enlace
común (CGI) que utiliza el servidor
$_SERVER['SERVER_ADDR'] Devuelve la dirección IP del servidor host
$_SERVER['SERVER_NAME'] Devuelve el nombre del servidor host
$_SERVER['SERVER_SOFTWARE'] Devuelve la cadena de identificación del servidor (como
Apache / 2.2.24)
$_SERVER['SERVER_PROTOCOL'] Devuelve el nombre y la revisión del protocolo de
información (como HTTP / 1.1)
$_SERVER['REQUEST_METHOD'] Devuelve el método de solicitud utilizado para acceder a
la página (como POST)
$_SERVER['REQUEST_TIME'] Devuelve la marca de tiempo del inicio de la solicitud
(como 1377687496)
$_SERVER['QUERY_STRING'] Devuelve la cadena de consulta si se accede a la página a
través de una cadena de consulta
$_SERVER['HTTP_ACCEPT'] Devuelve el encabezado Accept de la solicitud actual
$_SERVER['HTTP_ACCEPT_CHARSET'] Devuelve el encabezado Accept_Charset de la solicitud
actual (como utf-8, ISO-8859-1)
$_SERVER['HTTP_HOST'] Devuelve el encabezado Host de la solicitud actual
$_SERVER['HTTP_REFERER'] Devuelve la URL completa de la página actual (no es
confiable porque no todos los agentes de usuario lo
admiten)
22
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Ejemplo:
<?php
echo $_SERVER['PHP_SELF']; // /demo/demo_global_server.php
echo "<br>";
echo $_SERVER['SERVER_NAME']; //35.194.26.41
echo "<br>";
echo $_SERVER['HTTP_HOST']; //35.194.26.41
echo "<br>";
echo $_SERVER['SCRIPT_NAME']; // /demo/demo_global_server.php
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT']; // Mozilla/5.0 (Windows NT 6.1)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
?>
Variable $_REQUEST
Es una variable que se utiliza para recopilar datos después de enviar un formulario HTML. Se trata de un
array asociativo que por defecto contiene el contenido de $_GET, $_POST y $_COOKIE.
Ejemplo: Formulario con un campo de entrada y un botón de envío. Cuando un usuario envía los datos
haciendo clic en "Enviar", los datos del formulario se envían al archivo especificado en el atributo
action de la etiqueta <form>. Luego, podemos usar la variable $_REQUEST para recopilar el valor del
campo input:
23
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
<!DOCTYPE html>
<html>
<body>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Recoge el valor del campo input
$name = htmlspecialchars($_REQUEST['fname']);
if (empty($name)) {
echo "Name is empty ";
}
else {
echo $name;
}
}
?>
</body>
</html>
Salida:
Variable $_POST
Se utiliza para recopilar datos de formulario después de enviar un formulario HTML con method = "post".
(Se verá más en detalle en Manual PHP (Parte 2))
Variable $_GET
Se utiliza para recopilar datos de formulario después de enviar un formulario HTML con method = "get".
(Se verá más en detalle en Manual PHP (Parte 2))
Variable $_SESSION
Es un array asociativo que contiene variables de sesión disponibles para el script actual
Una sesión es una forma de almacenar información (en variables) para utilizarla en varias páginas.
24
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Las variables de sesión almacena la información del usuario que se utilizará en varias páginas (por
ejemplo, nombre de usuario, color favorito, etc.). Por defecto, las variables de sesión duran hasta que
el usuario cierra el navegador.
NOTA: Si se necesita un almacenamiento permanente, se debe almacenar los datos en una base de
datos en lugar de en variables de sesión.
Ejemplo: demo_session1.php
Ahora, creemos una nueva página llamada "demo_session1.php". En esta página, comenzamos una
nueva sesión de PHP y establecemos algunas variables de sesión. Todos los valores de las variables de
sesión se almacenan en la variable global $_SESSION
<?php
// Inicia una nueva sesión o reanuda la existente
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Se establecen las variables de sesión
$_SESSION["favcolor"] = "verde";
$_SESSION["favanimal"] = "gato";
echo "Variables de sesión establecidas.";
?>
</body>
</html>
A continuación, creamos otra página llamada "demo_session2.php". Desde esta página, accederemos a
la información de sesión que configuramos en la primera página ("demo_session1.php").
Las variables de sesión no se pasan individualmente a cada página nueva, sino que se recuperan de la
sesión que abrimos al comienzo de cada página (session_start ()).
Ejemplo: demo_session2.php
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Muestra el contenido de las variables de sesión
//establecidas en la página anterior (dem_osession1.php)
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>
</body>
</html>
25
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Finalmente, si queremos eliminar todas las variables de sesión y destruir la sesión, se debe utilizar
session_unset() y session_destroy()
Ejemplo: demo_session3.php
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Elimina todas las variables de sesión
session_unset();
// Destruye la sessión
session_destroy();
?>
</body>
</html>
Por tanto:
Variable $_FILES
El array global $_FILES contendrá toda la información de los ficheros subidos. Se asume el empleo del
nombre fichero_usuario para el fichero subid. Este puede ser cualquier nombre.
Elemento Descripción
$_FILES['fichero_usuario']['name'] El nombre original del fichero en la máquina del cliente
$_FILES['fichero_usuario']['type'] El tipo MIME del fichero, si el navegador proporcionó esta
información. Un ejemplo sería "image/gif". Este tipo
MIME, sin embargo, no se comprueba en el lado de PHP y
por lo tanto no se garantiza su valor.
$_FILES['fichero_usuario']['size'] El tamaño, en bytes, del fichero subido.
$_FILES['fichero_usuario']['tmp_name'] El nombre temporal del fichero en el cual se almacena el
fichero subido en el servidor.
$_FILES['fichero_usuario']['error'] El código de error asociado a esta subida.
26
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
3. Funciones
A continuación, se enumeran las principales funciones de PHP agrupadas por bloques:
Funciones Descripción
boolval() Obtener el valor booleano de una variable
debug_zval_dump() Vuelca a la salida una cadena con la representación de un valor interno de
zend
doubleval() Alias de floatval
empty() Determina si una variable está vacía
floatval() Obtener el valor flotante de una variable
get_defined_vars() Devuelve una matriz con todas las variables definidas
get_resource_type() Devuelve el tipo de recurso
gettype() Devuelve el tipo de una variable
intval() Obtiene el valor entero de una variable
is_array() Comprueba si una variable es un array
is_bool() Comprueba si una variable es de tipo booleano
is_callable() Verificar que los contenidos de una variable puedan ser llamados como una
función
is_countable() Verify that the contents of a variable is a countable value
is_double() Alias de is_float
is_float() Comprueba si el tipo de una variable es float
is_int() Comprueba si el tipo de una variable es integer
27
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Funciones Descripción
addcslashes() Escapa una cadena al estilo de C
addslashes() Escapa un string con barras invertidas
bin2hex() Convierte datos binarios en su representación hexadecimal
chop() Alias de rtrim
chr() Devuelve un carácter específico
chunk_split() Divide una cadena en trozos más pequeños
convert_cyr_string() Convierte de un juego de caracteres cirílico a otro juego de
caracteres cirílico
convert_uudecode() Descodifica una cadena codificada mediante uuencode
convert_uuencode() Codificar 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() Hash de cadenas de un sólo sentido
echo() Muestra una o más cadenas
explode() Divide un string en varios string
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 texto hebreo lógico a texto visual
hebrevc() Convertir texto de hebreo lógico a texto visual con conversión de
línea nueva
hex2bin() Decodifica una cadena binaria codificada hexadecimalmente
html_entity_decode() Convierte todas las entidades HTML a sus caracteres
correspondientes
htmlentities() Convierte todos los caracteres aplicables a entidades HTML
htmlspecialchars_decode() Convierte entidades HTML especiales de nuevo en caracteres
htmlspecialchars() Convierte caracteres especiales en entidades HTML
implode() Une elementos de un array en un string
join() Alias de implode
lcfirst() Convierte a minúscula el primer caracter de un string
levenshtein() Cálculo de la distancia Levenshtein entre dos strings
localeconv() Obtener información sobre el formato numérico
ltrim() Elimina espacios en blanco (u otros caracteres) del inicio de un
string
md5() Calcula el 'hash' md5 de un string
md5_file() Calcula el resumen criptográfico md5 de un archivo dado
metaphone() Calcula la clave metaphone de un string
money_format() Da formato a un número como un string de moneda
nl_langinfo() Consulta información sobre el idioma y la configuración regional
nl2br() Inserta saltos de línea HTML antes de todas las nuevas líneas de un
string
number_format() Formatear un número con los millares agrupados
28
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
29
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
30
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Función Descripción
array() Creates an array
array_change_key_case() Cambia a mayúsculas o minúsculas todas las claves en un array
array_chunk() Divide un array en fragmentos
array_column() Devuelve los valores de una sola columna del array de entrada
array_combine() Crea un nuevo array, usando una matriz para las claves y otra para sus
valores
array_count_values() Cuenta todos los valores de un array
array_diff() Calcula la diferencia entre arrays
array_diff_assoc() Calcula la diferencia entre arrays con un chequeo adicional de índices
array_diff_key() Calcula la diferencia entre arrays empleando las claves para la
comparación
array_diff_uassoc() Calcula la diferencia entre arrays con un chequeo adicional de índices
que se realiza por una función de devolución de llamada suministrada
por el usuario
array_diff_ukey() Calcula la diferencia entre arrays usando una función de devolución
de llamada en las keys para comparación
array_fill() Llena un array con valores
array_fill_keys() Llena un array con valores, especificando las keys
array_filter() Filtra elementos de un array usando una función de devolución de
llamada
array_flip() Intercambia todas las claves de un array con sus valores asociados
array_intersect() Calcula la intersección de arrays
array_intersect_assoc() Calcula la intersección de arrays con un chequeo adicional de índices
31
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
32
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
33
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
34
Prof. Miguel Toledo Aguilera
Manual Programación Web – PHP (1º Parte)
Funciones Descripción
base_convert() Convierte un número de una base numérica a otra
bindec() Convierte un número binario en un número decimal.
ceil() Redondea un número al entero superior más cercano
decbin() Convierte un número decimal en un número binario.
dechex() Convierte un número decimal en un número hexadecimal.
decoct() Convierte un número decimal en un número octal
floor() Redondea un número al entero inferior más cercano
fmod() Devuelve el resto de x / y
hexdec() Convierte un número hexadecimal en un número decimal
intdiv() Realiza la división entera
is_finite() Comprueba si un valor es finito o no
is_infinite() Comprueba si un valor es infinito o no
is_nan() Comprueba si un valor es 'no es un número'
max() Devuelve el valor más alto en un array, o el valor más alto de varios valores
especificados
min() Devuelve el valor más bajo en un array o el valor más bajo de varios valores
especificados
pow() Devuelve x elevado a la potencia de y
rand() Genera un entero aleatorio.
round() Redondea un número de coma flotante
35
Prof. Miguel Toledo Aguilera