¿Cómo publicar datos usando file_get_contents en PHP?

La función file_get_contents() en PHP se usa para leer el contenido de un archivo y realizar requests HTTP usando GET y obtener respuestas HTTP usando métodos POST. La solicitud HTTP POST se puede realizar mediante el parámetro $context de la función file_get_contents(), que publica los datos especificados en la URL especificada mediante el parámetro $path. La siguiente sintaxis se usa para POST requests a la ruta requerida:

Sintaxis:

string file_get_contents( $path, $include_path, 
                      $context, $offset, $max_length )

Parámetros:

  • $ruta: un parámetro obligatorio que especifica la URL para publicar datos.
  • $include_path: Es un parámetro opcional que especifica si deseamos buscar archivos en la ruta incluida durante la lectura.
  • $context: especifica los datos en forma de flujo JSON que se publicarán en la URL.
  • $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.

Por lo tanto, se puede crear un flujo de contenido y luego inyectarlo en la ruta respectiva. Los datos pueden contener información en forma de pares clave-valor. El flujo de contexto es creado por la función stream_context_create($options) con los parámetros proporcionados en el argumento $options. Los parámetros contienen el ‘método’ que consta de GET o POST y el parámetro ‘contenido’ que contiene los datos que deben aparecer en la URL.

El fragmento de código indica un programa de muestra para publicar datos en la URL utilizando el método file_get_contents(). Creamos una carpeta con el nombre Demo que contiene dos archivos «index.php» y «demo1.php» y la ejecutamos usando el servidor MAMP.


The following code is included in ‘index.php’.

<?php
  
// Contains the url to post data
// this is my local server url
// demo is the folder name and
// demo1.php is other file
$url_path = 'http://localhost:8888/Demo/demo1.php';
  
// Data is an array of key value pairs
// to be reflected on the site
$data = array('Name' => 'John', 'Age' => '24');
  
// Method specified whether to GET or
// POST data with the content specified
// by $data variable. 'http' is used
// even in case of 'https'
  
$options = array(
    'http' => array(
    'method' => 'POST',
    'content' => http_build_query($data))
);
  
// Create a context stream with
// the specified options
$stream = stream_context_create($options);
  
// The data is stored in the 
// result variable
$result = file_get_contents(
        $url_path, false, $stream);
  
echo $result;
?>

Para ver los elementos en el contenido, se escribe el siguiente código en ‘demo1.php’:

<?php
echo $_POST['Name'];
?> 

El código imprime el siguiente resultado en la URL especificada:

Publicación traducida automáticamente

Artículo escrito por yashchuahan 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 *