Mae get_headers() PHP yn derbyn cyd-destun ffryd fel ei drydydd dadl. Ar PHP 8, gall gwirio pennawd ar gyfer URL HTTP gario ei ffurfweddiad dirprwy ei hun:

$context = stream_context_create([
    'http' => [
        'proxy' => 'tcp://proxy.example.net:8080',
        'request_fulluri' => true,
        'method' => 'HEAD',
        'follow_location' => 0,
        'timeout' => 10,
    ],
]);

$headers = get_headers('http://example.net/file.zip', false, $context);
if ($headers === false) {
    throw new RuntimeException('Header request failed');
}

Mae'r dirprwy yn bwynt terfyn TCP ar gyfer y lap cynnal ffryd HTTP. Disodlwch ei westai a'i borthdai gyda ymgeisydd heb ei ddilysu o restr dirprwyon HTTP ar gyfer y gwiriad HTTP cyhoeddus hwn. Mae request_fulluri yn darparu URI cyrchfan gyflawn yn llinell cais HTTP, fel y mae llawer o ddirprwyon blaen yn ei ddisgwyl. Mae'r cyd-destun hwn yn perthyn i'r alwad hon; nid yw'n newid y cyd-destun rhagosodedig a ddefnyddir gan ddarlleniadau URL eraill.

Er gwaethaf enw'r ffwythiant, ei ddull cais rhagosodedig yw GET. Mae'r dull HEAD penodol yn gofyn i'r gweinydd am metadata ymateb heb y corff ymateb cyfatebol. Gall gweinydd wrthod HEAD neu ei drin yn wahanol, felly nid yw gwiriad pennawd llwyddiannus yn brawf y bydd lawrlwytho diweddarach yn llwyddo.

Yma, mae dilyn ailgyfeiriadau wedi'i analluogi i archwilio'r ymateb cyntaf. Mae pennawd Location a statws ailgyfeirio wedyn yn ganlyniadau defnyddiol yn hytrach na chyfarwyddyd i nôl URL arall. Os dylai'r gwiriad ddilyn ailgyfeiriadau, newidiwch y polisi hwnnw'n fwriadol a chyfrifwch am y pennawdau ymateb ychwanegol.

Mae'r ddadl false yn cadw arae pennawd mynegeiedig. Defnyddiwch true pan fo dosrannu cysylltiadol yn fwy defnyddiol.

Erthyglau cysylltiedig