Cómo Copiar Ficheros en Drupal Usando un Hook_update

Copia archivos fácilmente en cualquier entorno sin tener que hacerlo manualmente

Sergio Guardiola Herrador
2 min readSep 16, 2024
Photo by Maksym Kaharlytskyi on Unsplash

Existen muchas formas de copiar archivos de una carpeta a otra. La más común es hacerlo directamente en el servidor.

En otros casos, es posible que tengas que hacerlo en varios entornos, lo que puede llevar mucho tiempo, ya que no se trata solo de copiar y probablemente implique descargar desde otros servidores usando scp, por ejemplo.

Tener una forma de automatizar el proceso puede ahorrarte tiempo y evitar que te olvides de copiar algunos de los archivos.

En este ejemplo, estoy copiando imágenes de la carpeta imágenes de un módulo personalizado a la carpeta pública de archivos, en este caso, sites/default/files/logos:

/**
* Implements hook_update_N().
*/
function my_custom_module_update_9001() {
// Define el directorio de origen dentro del módulo.
$source_directory = DRUPAL_ROOT . '/modules/custom/my_custom_module/images/december2023';
// El directorio dentro de 'sites/default/files'.
$destination_directory = 'logos';
// Construir la ruta de destino.
$destination = "public://$destination_directory/";
// Nos aseguramos de que el directorio de destino exista, sino se crea.
$file_system =…

--

--

Sergio Guardiola Herrador

I write articles in English and Spanish, mostly about programming, technology, travel, money, investing. You can find me here: https://sergioguardiola.net