limite di download per ottenere intestazioni in php
Domanda
Funziona in modo nativo php get_headers() scarica tutto il contenuto o interrompe il download dopo aver ricevuto l'intestazione?
Soluzione 2
get_headers graps solo intestazione parte della risposta, e elimina la connessione.
entro in modalità interattiva utilizzando php -a emesso il comando:
php > print_r( get_headers('http://ftp.linux.org.tr/ubuntu-releases//maverick/ubuntu-10.10-desktop-i386.iso'));
Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Sat, 30 Oct 2010 23:33:12 GMT
[2] => Server: Apache/2.2.13 (FreeBSD)
[3] => Last-Modified: Thu, 07 Oct 2010 16:25:11 GMT
[4] => ETag: "c7e78fe-2b528000-492095688a7c0"
[5] => Accept-Ranges: bytes
[6] => Content-Length: 726827008
[7] => Connection: close
[8] => Content-Type: application/octet-stream
)
Questo ha richiesto meno di 1 sec. Dal momento che Chrome dice Ci sono voluti 1 giorno a scaricare Ubuntu, rispetto alla risposta 1 sec di get_headers, va raccogliere solo le intestazioni.
Altri suggerimenti
Non posso testarlo personalmente in questo momento, ma secondo questo commento nel manuale:
Se qualcuno è curioso, come lo ero io, questa funzione non invia un verbo HEAD.Invece invia un GET.Il che nel mio caso non è l'ideale perché ho bisogno di un modo rapido per ottenere uno stato HTTP (200, 404, ecc.). Il problema con GET è che, per casi come il mio, non voglio tutto il sovraccarico con i dati che ritorna.
infatti ogni volta viene trasmesso il corpo completo della risposta.
Prendilo con le pinze, ma visto che il manuale non menziona il HEAD
metodo, penso che sia corretto.