Ayudante del sistema de archivos

El archivo Filesystem Helper contiene funciones que ayudan a trabajar con archivos y directorios.

Cargando este ayudante

Este ayudante se carga usando el siguiente código:

<?php

helper('filesystem');

Funciones disponibles

Están disponibles las siguientes funciones:

directory_map($sourceDir[, $directoryDepth = 0[, $hidden = false]])
Parámetros:
  • $sourceDir (string) – ruta al directorio de origen

  • $directoryDepth (int) – Profundidad de los directorios a recorrer (0 = completamente recursivo, 1 = directorio actual, etc.)

  • $hidden (bool) – si se incluyen rutas ocultas

Devuelve:

una serie de archivos

Tipo del valor devuelto:

matriz

Ejemplos:

<?php

$map = directory_map('./mydirectory/');

Nota

Paths are almost always relative to your main index.php file.

También se asignarán las subcarpetas contenidas en el directorio. Si Si desea controlar la profundidad de la recursividad, puede hacerlo usando el segundo parámetro (entero). Una profundidad de 1 solo asignará el directorio de nivel superior:

<?php

$map = directory_map('./mydirectory/', 1);

De forma predeterminada, los archivos ocultos no se incluirán en la matriz devuelta y Se omitirán los directorios ocultos. Para anular este comportamiento, puede establezca un tercer parámetro en «verdadero» (booleano):

<?php

$map = directory_map('./mydirectory/', 0, true);

Cada nombre de carpeta será un índice de matriz, mientras que los archivos que contiene serán estar indexados numéricamente. A continuación se muestra un ejemplo de una matriz típica:

matriz (
[bibliotecas] => Matriz
(

[0] => punto de referencia.html [1] => configuración.html [«base de datos/»] => Matriz

(

[0] => consulta_builder.html [1] => enlaces.html [2] => configuración.html [3] => conectando.html [4] => ejemplos.html [5] => campos.html [6] => índice.html [7] => consultas.html

)

[2] => correo electrónico.html [3] => archivo_uploading.html [4] => imagen_lib.html [5] => entrada.html [6] => idioma.html [7] => cargador.html [8] => paginación.html [9] => uri.html

)

)

Si no se encuentran resultados, esto devolverá una matriz vacía.

directory_mirror($original, $target[, $overwrite = true])
Parámetros:
  • $original (string) – directorio fuente original

  • $objetivo (string) – directorio de destino de destino

  • $overwrite (bool) – si los archivos individuales se sobrescriben en caso de colisión

Copia recursivamente los archivos y directorios del directorio de origen. en el directorio de destino, es decir, «reflejar» su contenido.

Ejemplo:

<?php

try {
    directory_mirror($uploadedImages, FCPATH . 'images/');
} catch (\Throwable $e) {
    echo 'Failed to export uploads!';
}

Opcionalmente, puede cambiar el comportamiento de sobrescritura mediante el tercer parámetro.

write_file($path, $data[, $mode = 'wb'])
Parámetros:
  • $ruta (string) – ruta del archivo

  • $data (string) – datos para escribir en el archivo

  • $modo (string) – modo fopen()

Devuelve:

true si la escritura fue exitosa, false en caso de error

Tipo del valor devuelto:

booleano

Escribe datos en el archivo especificado en la ruta. Si el archivo no existe entonces el La función lo creará.

Ejemplo:

<?php

$data = 'Some file data';

if (! write_file('./path/to/file.php', $data)) {
    echo 'Unable to write the file';
} else {
    echo 'File written!';
}

Opcionalmente, puede configurar el modo de escritura a través del tercer parámetro:

<?php

write_file('./path/to/file.php', $data, 'r+');

El modo predeterminado es 'wb'. Por favor vea fopen()<https://www.php.net/manual/en/function.fopen.php> _ en el manual de PHP para opciones de modo.

Nota

In order for this function to write data to a file, its permissions must configurarse de modo que se pueda escribir. Si el archivo aún no existe, entonces el directorio que lo contiene debe poder escribirse.

Nota

The path is relative to your main site index.php file, NOT your controlador o ver archivos. Higgs usa un controlador frontal para que los caminos son siempre relativos al índice del sitio principal.

Nota

This function acquires an exclusive lock on the file while writing to it.

delete_files($path[, $delDir = false[, $htdocs = false[, $hidden = false]]])
Parámetros:
  • $ruta (string) – ruta del directorio

  • $delDir (bool) – si también se eliminan directorios

  • $htdocs (bool) – si se debe omitir la eliminación de archivos .htaccess y de páginas de índice

  • $hidden (bool) – si se deben eliminar también archivos ocultos (archivos que comienzan con un punto)

Devuelve:

true en caso de éxito, false en caso de error

Tipo del valor devuelto:

booleano

Elimina TODOS los archivos contenidos en la ruta proporcionada.

Ejemplo:

<?php

delete_files('./path/to/directory/');

Si el segundo parámetro se establece en «verdadero», cualquier directorio contenido dentro del archivo proporcionado La ruta raíz también se eliminará.

Ejemplo:

<?php

delete_files('./path/to/directory/', true);

Nota

The files must be writable or owned by the system in order to be deleted.

get_filenames($sourceDir[, $includePath = false[, $hidden = false[, $includeDir = true]]])
Parámetros:
  • $sourceDir (string) – ruta del directorio

  • $includePath (bool|null) – si se debe incluir la ruta como parte del nombre del archivo; falso para ninguna ruta, nulo para la ruta relativa a $sourceDir, verdadero para la ruta completa

  • $hidden (bool) – si se incluyen archivos ocultos (archivos que comienzan con un punto)

  • $includeDir (bool) – si se incluyen directorios en la salida de la matriz

Devuelve:

una matriz de nombres de archivos

Tipo del valor devuelto:

matriz

Toma una ruta del servidor como entrada y devuelve una matriz que contiene los nombres de todos los archivos. contenida dentro de ella. La ruta del archivo se puede agregar opcionalmente a los nombres de los archivos configurando el segundo parámetro a “relativo” para rutas relativas o cualquier otro valor no vacío para una ruta de archivo completa.

Nota

Prior to v7.4.4, due to a bug, this function did not follow symlink folders.

Ejemplo:

<?php

$controllers = get_filenames(APPPATH . 'Controllers/');
get_dir_file_info($sourceDir[, $topLevelOnly = true])
Parámetros:
  • $sourceDir (string) – ruta del directorio

  • $topLevelOnly (bool) – si se debe buscar solo en el directorio especificado (excluidos los subdirectorios)

Devuelve:

una matriz que contiene información sobre el contenido del directorio proporcionado

Tipo del valor devuelto:

matriz

Lee el directorio especificado y crea una matriz que contiene los nombres de archivo, tamaño de archivo, fechas y permisos. Las subcarpetas contenidas dentro de la ruta especificada solo se leen si se fuerza enviando el segundo parámetro a falso, ya que esto puede ser un proceso intensivo operación.

Ejemplo:

<?php

$models_info = get_dir_file_info(APPPATH . 'Models/');
get_file_info($file[, $returnedValues = ['name', 'server_path', 'size', 'date']])
Parámetros:
  • $archivo (string) – ruta del archivo

  • $returnedValues (array|string) – qué tipo de información devolver se pasará como una matriz o una cadena separada por comas

Devuelve:

una matriz que contiene información sobre el archivo especificado o falso en caso de error

Tipo del valor devuelto:

matriz

Dado un archivo y una ruta, devuelve (opcionalmente) nombre, ruta, tamaño y fecha de modificación atributos de información para un archivo. El segundo parámetro le permite declarar explícitamente qué información que desea que le devuelvan.

Las opciones válidas de $returnedValues son: nombre, tamaño, fecha, legible, escribible, ejecutable y fileperms.

symbolic_permissions($perms)
Parámetros:
  • $perms (int) – Permisos

Devuelve:

cadena de permisos simbólicos

Tipo del valor devuelto:

cadena

Toma permisos numéricos (como los que devuelve fileperms()<https://www.php.net/manual/en/function.fileperms.php> _) y devuelve Notación simbólica estándar de permisos de archivos.

<?php

echo symbolic_permissions(fileperms('./index.php'));  // -rw-r--r--
octal_permissions($perms)
Parámetros:
  • $perms (int) – Permisos

Devuelve:

cadena de permisos octales

Tipo del valor devuelto:

cadena

Toma permisos numéricos (como los que devuelve fileperms()<https://www.php.net/manual/en/function.fileperms.php> _) y devuelve una notación octal de tres caracteres de permisos de archivos.

<?php

echo octal_permissions(fileperms('./index.php')); // 644
same_file($file1, $file2)
Parámetros:
  • $file1 (string) – Ruta al primer archivo

  • $file2 (string) – Ruta al segundo archivo

Devuelve:

si ambos archivos existen con hashes idénticos

Tipo del valor devuelto:

booleano

Compara dos archivos para ver si son iguales (según su hash MD5).

<?php

echo same_file($newFile, $oldFile) ? 'Same!' : 'Different!';
set_realpath($path[, $checkExistence = false])
Parámetros:
  • $ruta (string) – Ruta

  • $checkExistence (bool) – si se debe verificar si la ruta realmente existe

Regresa:

Un camino absoluto

Tipo del valor devuelto:

cadena

Esta función devolverá una ruta del servidor sin enlaces simbólicos ni estructuras de directorios relativas. Un segundo argumento opcional provocar que se active un error si la ruta no se puede resolver.

Ejemplos:

<?php

$file = '/etc/php5/apache2/php.ini';
echo set_realpath($file); // Prints '/etc/php5/apache2/php.ini'

$non_existent_file = '/path/to/non-exist-file.txt';
echo set_realpath($non_existent_file, true);    // Shows an error, as the path cannot be resolved
echo set_realpath($non_existent_file, false);   // Prints '/path/to/non-exist-file.txt'

$directory = '/etc/php5';
echo set_realpath($directory);  // Prints '/etc/php5/'

$non_existent_directory = '/path/to/nowhere';
echo set_realpath($non_existent_directory, true);   // Shows an error, as the path cannot be resolved
echo set_realpath($non_existent_directory, false);  // Prints '/path/to/nowhere'