En realidad, tengo dos preguntas.Recuperación de encabezado único en php a través de curl
(1) ¿Hay alguna reducción en la potencia de procesamiento o ancho de banda utilizado en el servidor remoto si puedo recuperar sólo los encabezados en contraposición a página completa recuperación utilizando php y el rizo?
(2) Dado que creo, y puedo estar equivocado, que la respuesta a la primera pregunta es SÍ, yo estoy tratando de conseguir la última fecha de modificación o If-Modified-Since encabezado del archivo remoto sólo con el fin de comparar con la fecha y hora de los datos almacenados localmente, por lo que puedo, en caso de que haya sido modificado, almacenarlo localmente. Sin embargo, mi guión parece incapaz de obtener esa pieza de información, consigo NULL
, cuando corro esto:
class last_change {
public last_change;
function set_last_change() {
$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);
// $header = curl_exec($curl);
$this -> last_change = curl_getinfo($header);
curl_close($curl);
}
function get_last_change() {
return $this -> last_change['datetime']; // I have tested with Last-Modified & If-Modified-Since to no avail
}
}
En caso $header = curl_exec($curl)
datos uncomented, cabecera, incluso si no lo han solicitado y es de la siguiente manera:
HTTP/1.1 200 OK
Date: Fri, 04 Sep 2009 12:15:51 GMT
Server: Apache/2.2.8 (Linux/SUSE)
Last-Modified: Thu, 03 Sep 2009 12:46:54 GMT
ETag: "198054-118c-472abc735ab80"
Accept-Ranges: bytes
Content-Length: 4492
Content-Type: text/xml
En función de eso, se devuelve 'Last-Modified'.
Entonces, ¿qué estoy haciendo mal?
Es de notar que el código anterior no devolverá los encabezados , solo la información vars. Para recuperar los encabezados también debe agregar 'curl_setopt ($ curl, CURLOPT_HEADER, true);'. Sin embargo, los encabezados vienen en formato de texto sin formato y necesitan ser analizados posteriormente. – Lukas