PHP get_headers: ផ្ញើសំណើ HTTP HEAD តាមរយៈប្រុកស៊ី
ផ្ដល់ stream context ដោយផ្ទាល់ទៅ get_headers ជ្រើស HEAD ដោយចេតនា ហើយសម្រេចថាតើត្រូវដើរតាមការបញ្ជូនបន្តឬអត់។
ក្នុង PHP get_headers() ទទួលយក stream context ជាអាគុយម៉ង់ទីបីរបស់វា។ នៅលើ PHP 8 ការពិនិត្យក្បាលទំព័រសម្រាប់ URL HTTP អាចផ្ទុកការកំណត់ប្រុកស៊ីផ្ទាល់ខ្លួន:
$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');
}ប្រុកស៊ីគឺជាចំណុចបញ្ចប់ TCP សម្រាប់រុំស្ទ្រីម HTTP។ ជំនួសឈ្មោះម៉ាស៊ីន និងច្រកដែលជាតំណាងរបស់វាដោយបេក្ខជនដែលមិនបានផ្ទៀងផ្ទាត់ពី បញ្ជីប្រុកស៊ី HTTP សម្រាប់ការពិនិត្យ HTTP សាធារណៈនេះ។ request_fulluri ផ្ដល់ URI គោលដៅពេញលេញនៅក្នុងបន្ទាត់សំណើ HTTP ដូចដែលប្រុកស៊ីបញ្ជូនបន្តជាច្រើនរំពឹង។ context នេះជារបស់ការហៅនេះ; វាមិនផ្លាស់ប្ដូរ context លំនាំដើមដែលការអាន URL ផ្សេងទៀតប្រើទេ។
ទោះបីឈ្មោះមុខងារបែបនេះក៏ដោយ វិធីសាស្ត្រសំណើលំនាំដើមរបស់វាគឺ GET។ វិធីសាស្ត្រ HEAD ច្បាស់លាស់សុំមេតាដាតានៃការឆ្លើយតបពីម៉ាស៊ីនបម្រើដោយគ្មានតួឆ្លើយតបដែលត្រូវគ្នា។ ម៉ាស៊ីនបម្រើអាចបដិសេធ HEAD ឬដោះស្រាយវាខុសគ្នា ដូច្នេះការពិនិត្យក្បាលទំព័រជោគជ័យមិនមែនជាភស្តុតាងថាការទាញយកនៅពេលក្រោយនឹងជោគជ័យទេ។
នៅទីនេះ ការដើរតាមការបញ្ជូនបន្តត្រូវបានបិទដើម្បីពិនិត្យការឆ្លើយតបដំបូង។ ពេលនោះក្បាលទំព័រ Location និងស្ថានភាពបញ្ជូនបន្តគឺជាលទ្ធផលមានប្រយោជន៍ ជាជាងការណែនាំឱ្យទាញ URL ផ្សេង។ ប្រសិនបើការពិនិត្យគួរដើរតាមការបញ្ជូនបន្ត សូមផ្លាស់ប្ដូរគោលនយោបាយនោះដោយចេតនា ហើយគិតដល់ក្បាលទំព័រឆ្លើយតបបន្ថែម។
អាគុយម៉ង់ false រក្សាអារេក្បាលទំព័រដែលមានលិបិក្រម។ ប្រើ true នៅពេលការញែកជាប់ទំនាក់ទំនងមានប្រយោជន៍ជាង។