كيفية الحصول على حجم الصورة بسرعة البرق في PHP باستخدام file_get_contents
يمكن أن يكون الحصول على أبعاد الصورة للعديد من الصور البعيدة مهمة تستغرق وقتًا طويلاً، خاصة باستخدام getimagesize. فيما يلي طريقة بديلة تستفيد من file_get_contents لاسترداد أحجام الصور بسرعة:
استخدام وظيفة PHP مخصصة
تقرأ وظيفة ranger () التالية نطاق بايت محدد من جهاز التحكم عن بعد الصورة، مما يتيح استخراج الحجم السريع:
function ranger($url){
$headers = array(
"Range: bytes=0-32768"
);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
return $data;
}
استخراج حجم الصورةبمجرد الحصول على بيانات الصورة، يمكنك تحديد أبعادها باستخدام imagecreatefromstring() ووظائف تحليل الصور المضمنة:
$im = imagecreatefromstring($raw); $width = Imagesx($im); $height = imagey($im);$im = imagecreatefromstring($raw);
$width = imagesx($im);
$height = imagesy($im);
قياس الأداءباستخدام هذه الطريقة، تكون عملية الحصول على أبعاد الصورة أسرع بشكل ملحوظ:
$start = microtime(true); $url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg"; $raw = الحارس($url); $im = imagecreatefromstring($raw); $width = Imagesx($im); $height = imagesy($im); $stop = round(microtime(true) - $start, 5); echo $width." x ".$height." ({$stop}s)";$im = imagecreatefromstring($raw);
$width = imagesx($im);
$height = imagesy($im);
نتائج الاختباراستغرق استرداد الصورة النموذجية 0.20859 ثانية فقط أبعادها. لقد أثبت تحميل 32 كيلو بايت من البيانات فعاليته في هذا الأسلوب. من خلال تطبيق هذه التقنية، يمكنك الحصول بسرعة على أحجام الصور البعيدة، مما يقلل من الاختناقات التي تواجهها عادةً getimagesize.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3