كيفية التعامل مع الصور في PHP

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 02 سبتمبر 2024

محتوى المقال

تعد معالجة الصور من الأمور المهمة في تطوير تطبيقات الويب، حيث يحتاج المطورون إلى رفع، تعديل، وعرض الصور في مواقعهم. باستخدام PHP، يمكنك القيام بجميع هذه المهام باستخدام مكتبات وأدوات مدمجة مثل مكتبة GD. في هذا المقال، سنتعرف على كيفية التعامل مع الصور في PHP بطرق متعددة.

رفع الصور باستخدام PHP

أول خطوة في التعامل مع الصور هي رفعها إلى الخادم. يمكن تحقيق ذلك باستخدام نموذج HTML بسيط وكود PHP لمعالجة عملية الرفع.

<?php
# تحديد مسار المجلد المستهدف
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["imageToUpload"]["name"]);

# التحقق من حجم الملف ونوعه قبل رفعه
if (move_uploaded_file($_FILES["imageToUpload"]["tmp_name"], $target_file)) {
   echo "تم رفع الصورة بنجاح.";
} else {
   echo "عذرًا، حدثت مشكلة أثناء رفع الصورة.";
}
?>

في هذا المثال، نستخدم النموذج لرفع الصورة ثم نعالجها في ملف PHP للتأكد من رفعها بنجاح إلى المجلد المستهدف.

عرض الصور على صفحة الويب

بعد رفع الصورة إلى الخادم، يمكن عرضها على صفحة الويب باستخدام HTML. يكفي استخدام عنصر للإشارة إلى مسار الصورة.

Uploaded Image

يتيح لك هذا الكود عرض الصورة التي تم رفعها حديثًا على صفحة الويب. فقط تأكد من أن المسار صحيح.

معالجة الصور باستخدام مكتبة GD

تُعتبر مكتبة GD في PHP أداة قوية لمعالجة الصور. يمكنك استخدامها لتغيير حجم الصور، قصها، إضافة نصوص عليها، والمزيد. هنا مثال على كيفية تغيير حجم صورة باستخدام مكتبة GD.

<?php
# تحميل الصورة
$source = imagecreatefromjpeg('uploads/original.jpg');

# الحصول على أبعاد الصورة الأصلية
$width = imagesx($source);
$height = imagesy($source);

# تحديد الأبعاد الجديدة
$new_width = 200;
$new_height = 150;

# إنشاء صورة جديدة فارغة
$new_image = imagecreatetruecolor($new_width, $new_height);

# تغيير حجم الصورة الأصلية
imagecopyresampled($new_image, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

# حفظ الصورة المعدلة
imagejpeg($new_image, 'uploads/resized.jpg');

# تحرير الذاكرة
imagedestroy($source);
imagedestroy($new_image);
?>

في هذا المثال، نستخدم مكتبة GD لتحميل صورة، تعديل حجمها، ثم حفظها كملف جديد. يمكنك تعديل الأبعاد الجديدة وفقًا لاحتياجاتك.

إضافة نص إلى صورة باستخدام PHP

إضافة نص إلى صورة هي عملية شائعة في معالجة الصور، ويمكن القيام بذلك بسهولة باستخدام مكتبة GD. هنا مثال على كيفية إضافة نص إلى صورة.

<?php
# تحميل الصورة
$image = imagecreatefromjpeg('uploads/original.jpg');

# تحديد اللون والنص
$text_color = imagecolorallocate($image, 255, 255, 255);
$font = 'path/to/font.ttf';
$text = "نص على الصورة";

# إضافة النص إلى الصورة
imagettftext($image, 20, 0, 50, 50, $text_color, $font, $text);

# حفظ الصورة المعدلة
imagejpeg($image, 'uploads/with_text.jpg');

# تحرير الذاكرة
imagedestroy($image);
?>

في هذا المثال، نستخدم دالة imagettftext() لإضافة نص إلى صورة باستخدام خط TrueType. يمكنك تخصيص النص والموقع على الصورة وفقًا لاحتياجاتك.

تحويل تنسيق الصور

يمكن استخدام PHP لتحويل الصور بين التنسيقات المختلفة. على سبيل المثال، يمكنك تحويل صورة من JPEG إلى PNG باستخدام مكتبة GD.

<?php
# تحميل صورة JPEG
$image = imagecreatefromjpeg('uploads/original.jpg');

# حفظ الصورة بصيغة PNG
imagepng($image, 'uploads/converted.png');

# تحرير الذاكرة
imagedestroy($image);
?>

هذا المثال يوضح كيفية تحويل صورة من صيغة JPEG إلى PNG باستخدام PHP. يمكنك تطبيق نفس المبدأ لتحويل بين تنسيقات أخرى.

الخلاصة

التعامل مع الصور في PHP يتطلب معرفة بسيطة بمكتبة GD، والتي تتيح لك إمكانية رفع الصور، معالجتها، وعرضها بشكل مرن وفعال. سواء كنت ترغب في تعديل حجم الصور، إضافة نصوص عليها، أو تحويل تنسيقاتها، يمكنك القيام بكل ذلك باستخدام الأدوات التي توفرها PHP.

طور مهاراتك: مقالات يجب قراءتها في البرمجة