Header-Tly Recuperal en php a través de curl
para recuperación eficiente de metadatos de archivo, como la última fecha modificada, considere usar la función de recuperación de encabezado de Curl. Este método puede reducir significativamente la potencia de procesamiento y el consumo de ancho de banda en el servidor remoto.
para recuperar solo los encabezados, puede establecer las siguientes opciones en su solicitud de curl:
curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_NOBODY, true);
Esto le dice a Curl que envíe una solicitud de cabecera, que instruye al servidor que responda solo con la información del encabezado HTTP, omitiendo el cuerpo real de la respuesta.
Last Modified Date Retrieval [&] Puede usar curl_getInfo () para recuperar la información filetúrica del identificador curl. Aquí hay un ejemplo:
$ curl = curl_init (); curl_setopt ($ curl, curlopt_url, "http: //url/file.xml"); curl_setopt ($ curl, curlopt_header, true); curl_setopt ($ curl, curlopt_filetime, true); curl_setopt ($ curl, curlopt_nobody, true); curl_exec ($ curl); $ filetime = curl_getinfo ($ curl, curlinfo_filetime); // Devuelve la marca de tiempo de la última modificación curl_close ($ curl);
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "http://url/file.xml"); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_FILETIME, true); curl_setopt($curl, CURLOPT_NOBODY, true); curl_exec($curl); $filetime = curl_getinfo($curl, CURLINFO_FILETIME); // Returns timestamp of last modification curl_close($curl);
aquí hay un ejemplo más completo que recupera y muestra la última fecha modificada de un archivo remoto usando curl:
class Uriinfo { Public $ info; Public $ Header; privado $ url; función pública __construct ($ url) { $ this-> url = $ url; $ this-> setData (); } función pública setData () { $ curl = curl_init (); curl_setopt ($ curl, curlopt_url, $ this-> url); curl_setopt ($ curl, curlopt_filetime, true); curl_setopt ($ curl, curlopt_nobody, true); curl_setopt ($ curl, curlopt_returntransfer, true); curl_setopt ($ curl, curlopt_header, true); $ this-> header = curl_exec ($ curl); $ this-> info = curl_getinfo ($ curl); curl_close ($ curl); } función pública getFiletime () { devolver $ this-> info ['filetime']; } // Se pueden agregar otras funciones para recuperar otra información. } $ uri_info = new UriInfo ('http://example.com/index.html'); $ filetime = $ uri_info-> getFiletime (); if ($ filetime! = -1) { Fecha de eco ('y-m-d h: i: s', $ filetime); } demás { echo 'filetime no disponible'; }Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3