English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي PHP

دليل متقدم PHP

PHP & MySQL

كتيب مرجع PHP

استخدام دالة php getimagesize () للحصول على معلومات الصورة ومثال

معالجة الصور PHP

تستخدم دالة getimagesize() لاستخراج حجم الصورة والمعلومات ذات الصلة، إذا كانت النتيجة ناجحة، فإنها تعود بنوع array، وإذا كانت الفشل، فإنها تعود FALSE وتولد رسالة خطأ من مستوى E_WARNING.

نموذج النص:

معلومات array getimagesize ( string $filename [, array &$imageinfo ] )

يقوم دالة getimagesize() بقياس حجم أي ملف صورة GIF، JPG، PNG، SWF، SWC، PSD، TIFF، BMP، IFF، JP2، JPX، JB2، JPC، XBM أو WBMP ويعود بمعلومات حجم الصورة ومعلومات النوع وارتفاع العرض والطول.

مثال1: ملف صورة محلية

<?php
list($width, $height, $type, $attr) = getimagesize("w3codebox-logo.png");
echo "العرض: " . $width;
echo "الارتفاع: " . $height;
echo "النوع: " . $attr;
?>

نتائج الأمثلة أعلاه هي:

العرض: 290
الارتفاع: 69
النوع: 3
الخصائص: width="290" height="69"

مثال 2: ملف صورة بعيدة

<?php
$remote_png_url = 'http://ar.oldtoolbag.com/wp-content/themes/oldtoolbag.com/assets/img/logo-domain-green2.png';
$img_data = getimagesize($remote_png_url);
print_r($img_data );
?>

نتائج الأمثلة أعلاه هي:

Array
(
    [0] => 290
    [1] => 69
    [2] => 3
    [3] => width="290" height="69"
    [bits] => 8
    [mime] => image/png
)

شرح النتائج

  • الـمُرادف 0 يقدم قيمة العرض البكسلي للصورة
  • الـمُرادف 1 يقدم قيمة العرض البكسلي للصورة
  • الـمُرادف 2 يقدم نوع الصورة، يتم العودة كعدد، حيث 1 = GIF، 2 = JPG، 3 = PNG، 4 = SWF، 5 = PSD، 6 = BMP، 7 = TIFF (ترتيب البايتات الذهني)، 8 = TIFF (ترتيب البايتات للمotorola)، 9 = JPC، 10 = JP2، 11 = JPX، 12 = JB2، 13 = SWC، 14 = IFF، 15 = WBMP، 16 = XBM
  • الـمُرادف 3 يقدم سلسلة من العرض والارتفاع، يمكن استخدامها مباشرة في علامة <image> في HTML
  • الـمُرادف bits يقدم عدد الأبنية للون لكل لون في الصورة، في شكل ثنائي
  • الـمُرادف channels يقدم قيم القنوات للصور، الصور RGB بشكل افتراضي هي 3
  • الـمُرادف mime يقدم معلومات MIME للصور، يمكن استخدام هذه المعلومات لإرسال معلومات صحيحة في عنوان HTTP Content-type، مثل: header("Content-type: image/jpeg");

معالجة الصور PHP