Lenguaje PHP
Funciones
-
Funciones para manejo del tiempo, fecha y hora
La función date devuelve una cadena formateada según el formato dado usando el parámetro de tipo integer timestamp dado o el momento actual si no se da una marca de tiempo. En otras palabras, timestamp es opcional y por defecto es el valor de time().
Sintaxis:
string date ( string $format [, int $timestamp = time() ] )
Ejemplo:
<?php
echo date("d-m-Y H:i:s");
?>
Admite los siguientes parámetros:
Para representar el año:
Carácter de formato |
Significado |
Valores que devuelve |
L (mayúscula) |
Indica si un año es bisiesto (1) o no (0) |
0 o 1 |
Y (mayúscula) |
Año en formato numérico de 4 dígitos |
1000 a 9999 |
y (minúscula) |
Año en formato numérico de 2 dígitos |
El que corresponda |
o (minúscula) |
Número de año según ISO-8601. En general devuelve el mismo resultado que Y |
1000 a 9999 |
Lenguaje PHP
Funciones
-
Funciones para manejo del tiempo, fecha y hora
Para representar la hora:
Formato |
Significado |
Valores que devuelve |
a (minúscula) |
Incluye am o pm para indicar antes del meridiano o después del meridiano |
am o pm |
A (mayúscula) |
Igual que a pero en mayúsculas |
AM o PM |
B (mayúscula) |
Hora internet, también llamada Swatch Internet Time o Biel Mean Time (BMT), poco usada. |
000 a 999 |
g (minúscula) |
Número de hora desde 1 hasta 12 sin ceros iniciales |
1 a 12 |
G (mayúscula) |
Número de hora desde 0 hasta 23 sin ceros iniciales |
0 a 23 |
h (minúscula) |
Número de hora desde 01 hasta 12, con ceros iniciales |
01 a 12 |
H (mayúscula) |
Número de hora desde 00 hasta 23, con ceros iniciales |
00 hasta 23 |
i (minúscula) |
Minutos desde 00 hasta 59, con ceros iniciales |
00 a 59 |
s (minúscula) |
Segundos desde 00 hasta 59, con ceros iniciales |
00 a 59 |
Lenguaje PHP
Funciones
-
Funciones para manejo del tiempo, fecha y hora
Para representar la zona horaria:
Carácter de formato |
Significado |
Valores que devuelve |
e (minúscula) |
Representa la zona horaria en inglés (p.ej. GMT, America/Denver) |
Según corresponda |
I (letra i mayúscula) |
Indica si se está en horario de verano (0 indica que no se está, 1 que sí se está). |
0 o 1 |
O (letra o mayúscula) |
Indica la diferencia respecto a la zona horaria de Greenwich u hora GMT, en horas con cuatro dígitos y símbolo. |
Por ejemplo +0300 o -0500 |
P (mayúscula) |
Indica la diferencia respecto a la zona horaria de Greenwich u hora GMT, en horas con cuatro dígitos con separador dos puntos y símbolo. |
Por ejemplo +03:00 o -05:00 |
T (mayúscula) |
Abreviatura de la zona horaria (inglés) |
Según corresponda |
Z (mayúscula) |
Diferencia en segundos entre la hora utilizada y la hora UTC, con signo positivo o negativo |
-43200 hasta 50400 |
La letra c minúscula para representar la fecha y hora completa en formato ISO-8601 (ej.: 2089-03-12T12:19:21+03:00).
La letra r minúscula para representar la fecha y hora completa con formato RFC-2822 (ej.: Mon, 21 Jan 2089 11:41:05 -0300).
La letra W mayúscula para representar la semana del año según ISO-8601, considerando que las semanas comienzan en lunes. Por ejemplo, un año tiene 52 semanas y con este formato podemos obtener que estamos en la semana 24 del año.
Lenguaje PHP
Funciones
-
Funciones para manejo del tiempo, fecha y hora
Otras funciones para fecha, hora y tiempo PHP
PHP define otras funciones nativas para manejo de fechas, horas y tiempo
FUNCIÓN |
UTILIDAD |
EJEMPLOS |
mktime(hora,min, hora: 0 a 23 min y seg: 0 a 59 mes: 1 a 12 dia: 1 a 31 año: 4 dígitos |
Devuelve la hora UTC (GMT) para una fecha local indicada, expresada esta hora GMT en segundos (número de segundos desde el uno de enero de 1970 00:00:00 GMT, valores negativos indican momentos anteriores ). Si faltan uno o más parámetros se tomarán los de la fecha local actual de derecha a izquierda. El valor obtenido depende de la hora local del servidor . |
echo "Tiempo Unix para el 15-Enero-2089 a las 12h 0m 0s = " . mktime(12,0,0,1,15,2089); // Tiempo Unix para el 15-Enero-2089 a las 12h 0m 0s = 3753975600 (el resultado variará según dónde esté localizado el servidor, porque las 12 h del 15 de enero de 2089 corresponden a distintas fechas-horas GMT según dónde se encuentre el servidor. |
Lenguaje PHP
Funciones
-
Funciones para manejo del tiempo, fecha y hora
Otras funciones para fecha, hora y tiempo PHP
PHP define otras funciones nativas para manejo de fechas, horas y tiempo
FUNCIÓN |
UTILIDAD |
EJEMPLOS |
gmmktime(hora,min, hora: 0 a 23 min y seg: 0 a 59 mes: 1 a 12 dia: 1 a 31 año: 4 dígitos |
Devuelve la hora UTC (GMT) expresada en segundos para una fecha GMT indicada en los argumentos recibidos. El valor devuelto es el número de segundos transcurridos desde el uno de enero de 1970 00:00:00 GMT, valores negativos indican momentos anteriores a esta fecha. Si faltan uno o más parámetros se tomarán los de la fecha GMT actual de derecha a izquierda. El valor obtenido no depende del servidor, ya que la hora GMT es única. |
gmmktime(12,0,0,1,15,2089) // 3756628800 independientemente de la hora local del servidor |
Lenguaje PHP
Introducción al manejo de archivos
-
fopen
- r Abre el archivo para lectura. La lectura comienza al inicio del archivo
- r+ Abre el archivo para lectura y escritura. La lectura o escritura comienza al inicio del archivo
- w Abre el archivo para escritura. La escritura comienza al inicio y elimina el contenido previo. Si el archivo no existe, intenta crearlo
- w+ Abre el archivo para escritura y lectura. La lectura o escritura comienza al inicio del archivo, y elimina el contenido previo. Si el archivo no existe, intenta crearlo
- a Abre el archivo para escritura. La escritura comenzará al final, sin afectar al contenido previo. Si el fichero no existe se intenta crear
- a+ Abre el archivo para lectura y escritura. La lectura o escritura comenzará al final del fichero, sin afectar al contenido previo. Si el fichero no existe se intenta crear
Sirve para abrir ficheros (archivos)
Sintaxis:
<?php
$fp = fopen(fichero, modoDeApertura);
?>
- $fp es el descriptor o identificador del fichero abierto que se necesita posteriormente
- fichero puede ser un archivo de texto, un archivo con extensión .php, o URL de una página
- Hay distintos modos de apertura de archivos:
Lenguaje PHP
Funciones
-
Introducción al manejo de archivos
Ejemplos:
<?php
$fp = fopen("/txt/fichero1.txt", "r");
$fp = fopen("/txt/fichero2.txt", "w");
$fp = fopen("https://www.um.es/docencia/barzana/texto.txt", "a+");
$fp = fopen("ftp://ftp.um.es/fichero3.txt", "w");
?>
Referencia en: PHP.net
Lenguaje PHP
Funciones
-
fclose
Cierra un fichero abierto
Ejemplo:
<?php
$gestor = fopen('mifichero.txt', 'r');
fclose($gestor);
?>
Lenguaje PHP
Funciones
-
fgets y feof
fgets() recupera el contenido de una línea de un archivo.
Sintaxis:
<?php
fgets(descriptorDelFichero);
?>
Ejemplo:
<?php
// Lee la primera línea de fichero.txt
// fichero.txt está en el mismo directorio que el fichero php
// fichero.txt es un archivo de texto
$fp = fopen("fichero.txt", "r");
$linea = fgets($fp);
fclose($fp);
?>
Lenguaje PHP
Funciones
-
Ejemplo:
<?php
// Lee por líneas el fichero.txt hasta llegar al fin (feof($fp))
// fichero.txt está en el mismo directorio que el fichero php
// fichero.txt es un archivo de texto normal
$fp = fopen("fichero.txt", "r");
while(!feof($fp)) {
$linea = fgets($fp);
echo $linea . "
";
}
fclose($fp);
?>
Lenguaje PHP
Funciones
-
fputs
fputs() escribe una línea en un archivo.
Sintaxis:
<?php
fputs(descriptorDelFichero, cadena);
?>
Lenguaje PHP
Funciones
-
Ejemplo:
<?php
// Se escribe una primera línea en fichero.txt
// fichero.txt está en el mismo directorio que el fichero php
$fp = fopen("fichero.txt", "w");
fputs($fp, "Prueba de escritura");
fclose($fp);
?>
Lenguaje PHP
Funciones
-
file_get_contents
Lee archivos completos.
Sintaxis:
<?php
file_get_contents($ruta_del_fichero);
?>
Ejemplo:
<?php
$texto = file_get_contents("archivo.txt");
echo $texto;
?>
Lenguaje PHP
Funciones
-
nl2br
Convierte los saltos de línea a etiquetas < br/>
Ejemplo:
<?php
$texto = file_get_contents("archivo.txt");
$texto = nl2br($texto);
echo $texto;
?>
Lenguaje PHP
Funciones
-
file_get_contents
Obtiene el contenido de una página web en forma de código HTML, su código fuente
Ejemplo:
<?php
$texto = file_get_contents("http://www.barzanallana.es");
echo $texto;
?>
Lenguaje PHP
Funciones
-
Gestión de correo electrónico
Permite enviar emails desde PHP
En caso de que se pueda enviar el email devuelve true, si no devuelve false
Sintaxis:
mail (string $a , string $asunto , string $mensaje
[, string
$cabeceras_adicionales [, string $parametros_adicionales ]])
Parámetros:
a, correo del destinatario. En formato
RFC 2822
asunto, título del mensaje
mensaje, contenido del mensaje. Las líneas no deberán de ser de más de 70 caracteres
cabeceras_adicionales, para modificar la cabecera del mensaje. Por cada cabecera se ha de añadir un CRLF (\r\n)
parametros_adicionales, para proporcionar parámetros adicionales al programa que envía el email
Lenguaje PHP
Funciones
-
Gestión de correo electrónico
Ejemplo:
<?php
$para = 'publicidad@ru.com';
$titulo = 'Enviando correos desde PHP';
$mensaje = 'Este es el primer email que envío desde PHP';
$cabeceras = 'From: Rafa';
$enviado = mail($para, $titulo, $mensaje, $cabeceras);
if ($enviado)
echo 'Email enviado correctamente';
else
echo 'Error en el envío del email';
?>
</rafa@gmail.com>
Lenguaje PHP
Funciones
-
Gestión de correo electrónico
Dirección de respuesta a un email con PHP
Para modificar la dirección de respuesta a un email con PHP se han de modificar sus cabeceras
Las cabeceras de un mensaje de email deben de separarse mediante CRLF (\r\n)
Ejemplo:
$cabeceras = 'From: Rafa<rafa@gmail.com>' . "\r\n" .
'Reply-To: Otro <otros@um.com>';
Lenguaje PHP
Funciones
-
La variable para el contenido tendrá asignado HTML puro
Ejemplo:
$mensaje = '<html>'.
'<head><title>Email con HTML</title></head>'.
'<body><h1>Email con HTML</h1>'.
'Esto es un email que se envía en el formato HTML'.
'<hr>'.
'Enviado por mi programa en PHP'.
'</body>'.
'</html>';
Lenguaje PHP
Funciones
-
Gestión de correo electrónico
Aspectos avanzados
Sendmail ha de estar disponible en el servidor
Configuración en php.ini
Alternativa enviar mediante un servidor SMTP externo (ej.: Gmail)
Utilizar programa swiftmailer
El framework Laravel proporciona API para swiftmailer
Lenguaje PHP
Funciones
-
Código del formulario
<div class="contenedor-formulario">
<div class="wrap">
<form action="enviar3.php" class="formulario" name="formulario_registro" method="POST">
<div>
<b><font color=navy>Datos contacto</b></font><br><br>
<div class="input-group">
<input type="text" id="nombre" name="nombre">
<label class="label" for="nombre">Nombre:</label>
</div>
<div class="input-group">
<input type="text" id="apellidos" name="apellidos">
<label class="label" for="apellidos">Apellidos:</label>
</div>
<div class="input-group">
<input type="email" id="correo" name="correo">
<label class="label" for="correo">Correo:</label>
</div>
<div class="input-group">
<input type="text" id="telefono" name="telefono">
<label class="label" for="telefono">Teléfono:</label>
<b><font color=navy>Datos del Procedimiento</b></font><br><br>
<div class="input-group">
<input type="text" id="Jurisdiccion" name="Jurisdiccion">
<label class="label" for="Jurisdiccion">Jurisdicción:</label>
</div>
<div class="input-group">
<input type="text" id="tipo_tribunal" name="tipo_tribunal">
<label class="label" for="tipo_tribunal">Tipo Tribunal o Juzgado:</label>
</div>
<div class="input-group">
<input type="text" id="clase_procedimiento" name="clase_procedimiento">
<label class="label" for="clase_procedimiento">Clase Procedimiento:</label>
</div>
<div class="input-group">
<input type="text" id="Cuantia" name="Cuantia">
<label class="label" for="Cuantia">Cuantía:</label>
</div>
<div class="input-group checkbox">
<input type="checkbox" name="pago_tasa" id="pago_tasa" value="true">
<label for="pago_tasa">Sujeto al pago de Tasa Judicial</label>
</div>
<div class="input-group checkbox">
<input type="checkbox" name="embargo" id="embargo" value="true">
<label for="embargo">Anot. Prev. Embargo</label>
</div>
<div class="input-group checkbox">
<input type="checkbox" name="edictos" id="edictos" value="true">
<label for="edictos">Publicación Edictos</label>
</div>
<div class="input-group">
<input type="text" id="comentarios" name="comentarios">
<label class="label" for="comentarios">Comentarios</label>
</div>
<input type="submit" id="btn-submit" value="Enviar">
<input type="reset" value="Borrar">
</div>
</form>
</div>
</div>
Lenguaje PHP
Funciones
-
Código de PHP para formulario
<?php
$nombre = $_POST['nombre'];
$correo = $_POST['correo'];
$apellidos = $_POST['apellidos'];
$header = 'From: ' . $correo . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje .= "Este mensaje fue enviado por " . $nombre . "\r\n";
$mensaje .= " " . $apellidos . "\r\n";
$mensaje .= "Su e-mail es: " . $correo . " \r\n";
$mensaje .= "Mensaje: " . $_POST['comentarios'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time()) . " \r\n";
$mensaje .= "Jurisdicción: " . $_POST['Jurisdiccion'] . "\r\n";
$mensaje .= "Tipo tribunal: " . $_POST['tipo_tribunal'] . "\r\n";
$mensaje .= "Clase procedimiento: " . $_POST['clase_procedimiento'] . "\r\n";
$mensaje .= "Cuantía: " . $_POST['importe'] . "\r\n";
$para = 'contabilidad@procuradoresbelda.es,despacho@procuradoresbelda.es';
$asunto = 'Consulta desde web';
mail($para, $asunto, utf8_decode($mensaje), $header);
echo 'Mensaje enviado correctamente';
$total = "";
for ($segundos = 1; $segundos <= 2; $segundos++)
{
sleep($segundos);
$total = $segundos;
}
header("location:http://www.procuradoresbelda.es");
?>
Lenguaje PHP
Inclusión de código
-
Tener todo el código para una página en un solo archivo crea problemas:
- Complica el mantenimiento o modificación
- Dificulta reutilizar el código
- Dificulta utilizar códigos de terceros
Los lenguajes de programación permiten escribir código en archivos e importarlos o llamarlos en el archivo que sea necesario
Si se tiene código que se repite muchas veces, se soluciona con:
Include: PHP intenta cargar el archivo solicitado, pero si no lo logra encontrar muestra un error de tipo warning
Require: PHP intenta cargar el archivo, pero si no lo logra muestra un error de tipo fatal error
Include_once y Require_once: funcionan igual a las anteriores pero si se vuelve a llamar al mismo archivo dentro de un mismo script esta llamada es ignorada.
Ejemplo:
<?php
include('contenidos-daweb.html');
?>