Saltar al contenido

touch()

Introducción

En PHP, la función touch() se utiliza para establecer la hora de modificación y acceso de un archivo. Es una función útil para trabajar con archivos en tus scripts de PHP. En este artículo, cubriremos todo lo que necesitas saber sobre la función touch(), incluyendo su sintaxis, parámetros y ejemplos de cómo puede ser utilizada.

Entendiendo la función touch()

La función touch() actualiza las marcas de tiempo de modificación y acceso de un archivo especificado. Acepta tres parámetros: $filename (la ruta del archivo), $time (la hora de modificación) y $atime (la hora de acceso). Si $atime se omite, por defecto toma la hora actual. Si el archivo especificado no existe, touch() lo creará. Al ser llamada, PHP intenta establecer estas marcas de tiempo con los valores proporcionados, lo cual es especialmente útil para rastrear la actividad de archivos o simular cambios recientes en tus scripts.

Sintaxis de la función touch()

La sintaxis de la función touch() es la siguiente:

php
touch($filename, $time, $atime);

Aquí, $filename es la ruta del archivo, $time es la marca de tiempo de modificación en formato Unix y $atime es la marca de tiempo de acceso. La función devuelve true en caso de éxito o false en caso de fallo.

Ejemplos de uso de touch()

Veamos un ejemplo de cómo se puede utilizar la función touch() en PHP.

Ejemplo 1: Actualización de la hora de modificación y acceso de un archivo

php
if (touch('example.txt', time())) {
    echo "File timestamps updated successfully.";
} else {
    echo "Failed to update file timestamps. Check permissions or file path.";
}

Este ejemplo actualiza la hora de modificación y acceso del archivo example.txt a la hora actual. La sentencia if verifica el valor booleano devuelto para manejar errores potenciales, como archivos faltantes o permisos insuficientes.

Ejemplo 2: Establecer explícitamente ambas horas de modificación y acceso

php
$mtime = time() - 3600; // 1 hour ago
$atime = time() - 1800; // 30 minutes ago

if (touch('example.txt', $mtime, $atime)) {
    echo "Both timestamps updated successfully.";
} else {
    echo "Failed to update timestamps.";
}

Este ejemplo demuestra cómo pasar ambos parámetros $time y $atime para establecer valores diferentes para las horas de modificación y acceso.

Nota: Asegúrate de que el proceso de PHP tenga permisos de escritura para el directorio de destino. Si el archivo no existe, touch() lo creará con permisos predeterminados.

Conclusión

La función touch() proporciona una manera sencilla de gestionar las marcas de tiempo de archivos en PHP. Ya sea que necesites actualizar las horas de acceso para sistemas de caché, rastrear la actividad de archivos o crear archivos de marcador de posición, esta función se integra perfectamente en tus flujos de trabajo de manejo de archivos. Esperamos que esta guía haya aclarado cómo utilizar touch() de manera efectiva en tus proyectos.

Práctica

¿Qué hace la función 'touch' en PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.