[Php] دالة Getimagesize

مدرج تحت قسم: مقالات
1 سبتمبر 2007

السلام عليكم ورحمة الله و بركاته..
فكرت في كتابة شروحات لبعض الدوال، وسأبدأ اليوم بأول دالة.

اسم الدالة : Getimagesize
تعمل على Php 4 , 5.

وظيفتها :
جلب عرض الصورة(Width) , إرتفاعها(Height) , وسم الصورة(Image Tag) و الـMimetype بحيث انها تأتى بالمعلومات و تضعها بمصفوفة.

وهذا الجدول يوضح المفاتيح و القيم.

المفتاح القيمة
0 عرض الصورة(Width)
1 إرتفاع الصورة(Hight)
3 وسم الصورة(Tag)
mime الـMimetype

وسم الصورة Img Tag : المقصود به ان يضع لنا العرض و الإرتفاع على هيئة width=”100″ height=”100″

مثال بسيط
نريد ان نضع رابط صورة بمتغير و نتأكد من وجود الصورة و نجلب معلوماتها.

أولاً نضع رابط الصورة بالمتغير imgsrc

$imgsrc="http://static.php.net/www.php.net/images/php.gif";

ثانياً نجلب معلومات الصورة بإستخدام الدالة getimagesize

$imginfo = @getimagesize($imgsrc);

ملاحظة : وضعنا @ لمنع ظهور تقرير الخطأ إن وجد ( إن لم يتم إيجاد الصورة فسيظهر لنا خطأ ) سنتأكد نحن بالخطوة البعد القادمة بوجود الصورة.

ثالثاً تعريف معلومات الصورة بإستخدام Define :

define("IMG_Width",$imginfo[0]);
define("IMG_Height",$imginfo[1]);
define("IMG_Tag",$imginfo[3]);
define("IMG_Mimetype",$imginfo['mime']);

إذن عرفنا بان

  1. IMG_Width = عرض المصفوفة
  2. IMG_Height = إرتفاع الصورة
  3. IMG_Tag = وسم الصورة
  4. IMG_Mimetype = الـMimetype

رابعاً التأكد من وجود الصورة :

هناك طريقتين للتأكد من وجود الصورة

الأولى بإستخدام الطول و العرض

مثال

if (IMG_Width == 0 or IMG_Height == 0)
{
echo"لم يتم العثور على الصورة";
}

إذا كان العرض = 0 أو الإرتفاع = 0 إذن لم يتم العثور على الصورة.

الثانية بإستخدام الـMimetype و دالة stristr

مثال

if (!stristr(IMG_Mimetype , "image"))
{
echo"لم يتم العثور على الصورة";
}

إذا لم يتم العثور على كلمة image بالـmimetype إذن لم يتم العثور على الصورة.

خامسا إن تم إيجاد الصورة يطبع الصورة بمعلوماتها

else
{
echo'<img src="'.$imgsrc.'" />
<strong>Image info :</strong>
Width  : '.IMG_Width.'
Height : '.IMG_Height.'
Mime   : '.IMG_Mimetype.'
';
}

المثال كامل :

$imgsrc="http://static.php.net/www.php.net/images/php.gif";
$imginfo = @getimagesize($imgsrc);
define("IMG_Width",$imginfo[0]);
define("IMG_Height",$imginfo[1]);
define("IMG_Tag",$imginfo[3]);
define("IMG_Mimetype",$imginfo['mime']);
if (IMG_Width == 0 or IMG_Height == 0)
{
echo"لم يتم العثور على الصورة";
}
else
{
echo'<img src="'.$imgsrc.'" />
<strong>Image info :</strong>
Width  : '.IMG_Width.'
Height : '.IMG_Height.'
Mime   : '.IMG_Mimetype.'
';
}

للكاتب Khaled-F

  • Share/Bookmark

التعقيبات

  1. غير معروف
  2. غير معروف
  3. غير معروف
  4. غير معروف
  5. غير معروف

التعليقات (6) على ”[Php] دالة Getimagesize“

  1. و عليكم السلام و رحمة الله و بركاته
    الله الله…
    و الله شرح جميل جدا..
    و موضوع اكثر من رائع..
    و لا يخفى لاحد ان هذه الدالة مهمة جدا خاصة لسكربتات مكتبات الصور..
    تحياتي
    mhamed

  2. ماشاء الله عليك أخي خالد ,, شرح رائعة ودالة مُفيدة فعلاً .
    شكراً لك .

    تحياتي
    فراس

  3. بسم الله الرحمن الرحيم
    و الله هده الدالة له اهميتها و مشكور اخب على الجهد و اريد ان اضيف انه توجد بالفعل دالة لتأكد من وجود ملف ما تعمل على المخدم المحلي و كودها كالتالي
    if(file_exists(’test.txt’))
    {
    echo ‘Le fichier existe’;
    }
    else
    {
    echo ‘Le fichier n\’existe pas’;
    }

  4. Khaled-F

    محمد , فراس : شكراً لكم :)

    علاء عبد الرحمن :
    شكراً على تعقيبك :
    بالنسبة للدالة file_exists
    فهى تتأكد من وجود ملف ما على الموقع الخاص و ليس على شبكة الانترنت
    مثلاً شوف المثال التالى لو اردنا ان نعرف تواجد صورة على موقع php.net و الصورة موجودة فعلاً

    if(file_exists(”http://static.php.net/www.php.net/images/php.gif”))
    {
    echo ‘The image exists’;
    }
    else
    {
    echo ‘The image doesn\’t exist’;
    }

    سيظهر لك The image doesn’t exist!

    لان الدالة تعمل على الموقع الحالى فقط ..

    :)

  5. ابو عابد

    طيب هل من طريقة لمعرفة طول وعرض الفلاش

  6. ماشاء الله عليك أخي خالد ,, شرح رائعة ودالة مُفيدة فعلاً .
    شكراً لك .

أضف تعليقك




يمكنك استخدام الوسوم التالية في التعليق: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


* حقول مطلوبة