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
) – modofopen()
- 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
yfileperms
.
- 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'