سؤال

هل وظيفة 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 الطريقة ، أعتقد أن هذا صحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top