¿Cuál es la diferencia entre las funciones file_get_contents() y file_put_contents() en PHP?

Función file_get_contents() : La función file_get_contents() se usa para leer un archivo en una string. Utiliza técnicas de mapeo de memoria que son compatibles con el servidor y, por lo tanto, mejora el rendimiento al convertirlo en la forma preferida de leer el contenido de un archivo. La ruta del archivo a leer se envía como parámetro a la función y devuelve los datos leídos en caso de éxito y FALSO en caso de error.

Sintaxis:

file_get_contents($path, $include_path, 
        $context, $start, $max_length)

Parámetros: La función file_get_contents() en PHP acepta un parámetro obligatorio y cuatro parámetros opcionales.  

  • $ruta: Especifica la ruta del archivo o directorio que desea verificar.
  • $include_path: es un parámetro opcional que busca un archivo en el archivo en include_path (en php.ini) también si está configurado en 1.
  • $context: Es un parámetro opcional que se usa para especificar un contexto personalizado.
  • $start: es un parámetro opcional que se utiliza para especificar el punto de inicio en el archivo para la lectura.
  • $max_length: Es un parámetro opcional que se utiliza para especificar la cantidad de bytes que se leerán.

Valor de retorno: Devuelve los datos leídos en caso de éxito y FALSO en caso de error.

Errores y excepciones: si desea abrir un archivo con caracteres especiales, como espacios, primero debe codificarse con PHP urlencode() .
La función file_get_contents() devuelve FALSO booleano, pero también puede devolver un valor no booleano que se evalúa como FALSO.
Se genera un error de nivel E_WARNING si no se puede encontrar el nombre de archivo, si $maxlength es menor que cero o si falla la búsqueda del desplazamiento especificado en la transmisión.

Ejemplo: Este ejemplo ilustra cómo colocar el archivo en una string. Usaremos la función file_get_contents() . Especificaremos el enlace URL como un argumento que redirigirá al sitio dado. 

PHP

<?php
    // Reading 36 bytes starting from
    // the 0th character from gfg.txt
    $text = file_get_contents('gfg.txt', false, NULL, 0, 36);
    echo $text;
?>

gfg.txt: El siguiente es el contenido de este archivo utilizado en todos los ejemplos.

A computer science portal for geeks

Producción:

A computer science portal for geeks

Función file_put_contents(): La función file_put_contents() en PHP es una función incorporada que se utiliza para escribir una string en un archivo. La función file_put_contents() busca el archivo en el que el usuario desea escribir y, si el archivo no existe, crea un archivo nuevo.

La ruta del archivo en el que el usuario quiere escribir y los datos que deben escribirse se envían como parámetros a la función y devuelve la cantidad de bytes que se escribieron en el archivo en caso de éxito y FALSO en caso de falla.

Sintaxis:

file_put_contents($file, $data, $mode, $context)

Parámetros : La función file_put_contents() en PHP acepta dos parámetros obligatorios y dos parámetros opcionales.

  • $archivo: Especifica el archivo en el que desea escribir.
  • $data: Especifica los datos que se deben escribir en el archivo. Puede ser una string, una array o un flujo de datos.
  • $context: es un parámetro opcional que se usa para especificar un contexto personalizado o el comportamiento de la transmisión.
  • $mode: es un parámetro opcional que se usa para especificar cómo se deben escribir los datos en el archivo, como FILE_USE_INCLUDE_PATH, FILE_APPEND, LOCK_EX.

Valor devuelto: Devuelve el número de bytes que se escribieron en el archivo en caso de éxito y FALSO en caso de error.

Errores y excepciones: la función file_put_contents() devuelve FALSO booleano, pero también puede devolver un valor no booleano que se evalúa como FALSO. Esta función no puede escribir contenidos si el directorio proporcionado no es válido.

Ejemplos:

Input : file_put_contents("gfg.txt", "A computer 
                    science portal for geeks!");
Output : 36

Input : $file_pointer = 'gfg.txt';
        $open = file_get_contents($file_pointer);
        $open .= "A computer science portal for geeks!";
        file_put_contents($file_pointer, $open);
Output : 36

Ejemplo 1: Los siguientes programas ilustran la función file_put_contents() .

PHP

<?php
 
// Writing content on gfg.txt
echo file_put_contents("gfg.txt",
    "A computer science portal for geeks!");
?>

Producción:

36

Ejemplo 2:

PHP

<?php
 
$file_pointer = 'gfg.txt';
 
// Open the file to get existing content
$open = file_get_contents($file_pointer);
 
// Append a new person to the file
$open .= "A computer science portal for geeks!";
 
// Write the contents back to the file
file_put_contents($file_pointer, $open);
 
?>

Producción:

36

Diferencia entre las funciones file_get_contents() y file_put_contents(): La principal diferencia entre las funciones file_get_contents() y file_put_contents() es que la función file_get_contents() lee un archivo en una string y la función file_put_contents() escribe una string en un archivo.

Veamos las diferencias en forma tabular -:

   archivo_obtener_contenido() archivo_poner_contenidos()
1. La función file_get_contents() lee un archivo en una string. La función file_put_contents() escribe datos en un archivo.
2.

Su sintaxis es -:

file_get_contents(ruta, include_path, contexto, inicio, max_length)

Su sintaxis es -:

file_put_contents (nombre de archivo, datos, modo, contexto)

3. Su valor de retorno es una string ; de lo contrario, devuelve falso en caso de falla. Su valor devuelto es el número de bytes escritos en el archivo en caso de éxito; de lo contrario, devuelve falso.
4. Es caja fuerte binaria. Es caja fuerte binaria.
5. Es compatible con PHP versión 4.3+ Es compatible con las versiones de PHP 5.0+

Publicación traducida automáticamente

Artículo escrito por bhanusivanagulug y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *