PHP प्रोग्रामिंग के दायरे में, किसी से निपटते समय डिफ़ॉल्ट getimagesize फ़ंक्शन का उपयोग करके छवि आयाम पुनर्प्राप्त करना बोझिल हो सकता है दूरस्थ छवियों की बड़ी मात्रा. इस बाधा को दूर करने के लिए, आइए एक वैकल्पिक दृष्टिकोण पर ध्यान दें जो बिजली की तेजी से प्रदर्शन का वादा करता है।
file_get_contents फ़ंक्शन का लाभ उठाकर, हम एक छवि से केवल सीमित संख्या में बाइट्स पढ़ सकते हैं। छवि के आयाम निर्धारित करने के लिए इस डेटा की सावधानीपूर्वक जांच की जा सकती है।
इस दृष्टिकोण को शुरू करने के लिए, आइए निम्नलिखित कोड स्निपेट पर विचार करें:
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;
}
$start = microtime(true);
$url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg";
$raw = ranger($url);
$im = imagecreatefromstring($raw);
$width = imagesx($im);
$height = imagesy($im);
$stop = round(microtime(true) - $start, 5);
echo $width." x ".$height." ({$stop}s)";
यह फ़ंक्शन छवि डेटा के एक छोटे हिस्से को पुनर्प्राप्त करने के लिए रेंजर फ़ंक्शन का उपयोग करता है। इसके बाद, पुनर्प्राप्त डेटा से एक छवि संसाधन उत्पन्न करने के लिए imagecreatefromstring को नियोजित किया जाता है। अंत में, इमेजएक्स और इमेजसी हमें क्रमशः छवि की चौड़ाई और ऊंचाई प्रदान करते हैं। 640 x 480 (0.20859s)
इस उदाहरण में, छवि के आयामों को निकालने में केवल 0.20859 सेकंड लगे, जो इस विधि की दक्षता को उजागर करता है।
640 x 480 (0.20859s)
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3