قم بتنزيل حد الحصول على الرؤوس في PHP
سؤال
هل وظيفة PHP الأصلية get_headers () يقوم بتنزيل جميع المحتوى ، أو يتوقف عن التنزيل بعد الحصول على رأس؟
المحلول 2
Get_headers فقط Graps Header جزء من الاستجابة ، ويسقط الاتصال.
أدخل الوضع التفاعلي باستخدام PHP -A أصدر الأمر:
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
)
استغرق هذا أقل من 1 ثانية. نظرًا لأن Chrome يقول إن الأمر استغرق يومًا واحدًا لتنزيل Ubuntu ، مقارنةً باستجابة 1 ثانية لـ Get_headers ، يجب أن يكون جمع الرؤوس فقط.
نصائح أخرى
لا يمكنني اختباره بنفسي الآن ، لكن وفقًا لـ هذا التعليق في الدليل:
إذا كان أي شخص فضولي ، كما كنت ، فإن هذه الوظيفة لا ترسل فعل الرأس. بدلا من ذلك يرسل الحصول على. والتي في حالتي ليست مثالية لأنني بحاجة إلى طريقة سريعة للحصول على حالة HTTP (200 ، 404 ، وما إلى ذلك) المشكلة هي أنه بالنسبة لحالات مثل لي ، لا أريد كل النفقات العامة مع البيانات التي يعود.
في الواقع ، ينتقل جسم الاستجابة الكامل في كل مرة.
خذها مع حبة من الملح ، لكن رؤية الدليل لا يذكر HEAD
الطريقة ، أعتقد أن هذا صحيح.