[Php] دالة Getimagesize
مدرج تحت قسم: مقالات
السلام عليكم ورحمة الله و بركاته..
فكرت في كتابة شروحات لبعض الدوال، وسأبدأ اليوم بأول دالة.
اسم الدالة : 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']);
إذن عرفنا بان
- IMG_Width = عرض المصفوفة
- IMG_Height = إرتفاع الصورة
- IMG_Tag = وسم الصورة
- 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.'
';
}


و عليكم السلام و رحمة الله و بركاته
الله الله…
و الله شرح جميل جدا..
و موضوع اكثر من رائع..
و لا يخفى لاحد ان هذه الدالة مهمة جدا خاصة لسكربتات مكتبات الصور..
تحياتي
mhamed
ماشاء الله عليك أخي خالد ,, شرح رائعة ودالة مُفيدة فعلاً .
شكراً لك .
تحياتي
فراس
بسم الله الرحمن الرحيم
و الله هده الدالة له اهميتها و مشكور اخب على الجهد و اريد ان اضيف انه توجد بالفعل دالة لتأكد من وجود ملف ما تعمل على المخدم المحلي و كودها كالتالي
if(file_exists(’test.txt’))
{
echo ‘Le fichier existe’;
}
else
{
echo ‘Le fichier n\’existe pas’;
}
محمد , فراس : شكراً لكم :)
علاء عبد الرحمن :
شكراً على تعقيبك :
بالنسبة للدالة 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!
لان الدالة تعمل على الموقع الحالى فقط ..
:)
طيب هل من طريقة لمعرفة طول وعرض الفلاش
ماشاء الله عليك أخي خالد ,, شرح رائعة ودالة مُفيدة فعلاً .
شكراً لك .