تصغير حجم الصور داخل مجلد والمجلدات الفرعية بإستخدام PHP بواسطة الشيل SSH

يوفر هذا الكود سهولة تغيير حجم الصور “العرض الأقصى” لكافة الصور داخل مجلد محدد وكافة المجلدات الفرعية له. ويستهدف على سبيل المثال الصور التي يزيد عرضها عن 1024 بكسل، ويقلل عرضها إلى 1024 بكسل كحد أقصى مع الحفاظ على نسبة العرض إلى الارتفاع. ويدعم تنسيقات JPG، وJPEG، وPNG، وBMP (دعم محدود لـ BMP). أيضا يتيح إمكانية المشاهدة اللحظية للملفات الجاري العمل عليها في حال التنفيذ بواسطة الشيل SSH.
الهدف
يهدف البرنامج إلى تسهيل تغيير حجم صور كثيرة يزيد عرضها عن 1024 بكسل إلى أقصى عرض يبلغ 1024 بكسل أو حسب المطلوب.
المخرجات
يوفر البرنامج تحديثات لحظية (عند تنفيذها عبر سطر الأوامر)، مما يشير إلى الملفات التي يتم تغيير حجمها أو تخطيها بسبب التنسيقات غير المدعومة.
القيود
قد يكون دعم ملفات BMP محدودًا، وقد يختلف التعامل معها نظرًا لأن مكتبة GD الخاصة بـ PHP لا تدعم BMP بشكل كامل. سيحاول البرنامج معالجة ملفات BMP ولكنه قد يتخطاها إذا لم يتمكن من التعامل معها بشكل صحيح.
ملاحظة احترازية
من الضروري أخذ نسخة احتياطية كاملة للمجلد المطلوب العمل عليه أو اختباره على نسخة احتياطية من مجلد الصور المراد العمل عليه، للتأكد من أنه يعمل على النحو المنشود قبل استخدامه على الصور الفعلية لمنع فقدان البيانات غير المقصود أو التعديلات غير المتوقعة.
الاستخدام من داخل الشيل (SSH):
يجب التعديل على الملف قبل الاستخدام حسب ما يتناسب مع متطلباتك. على سبيل المثال :
تحميل الكود من المصدر على Github
wget https://raw.githubusercontent.com/W3bCrak3r/PHP-Image-Resize-Script-from-SSH/main/resize.php
تعديل القيم المطلوبة من خلال أمر nano أو vi أو كما تفضل
nano resize.php
تعديل اقصى عرض للصور
$maxWidth = 1024;
تعديل مسار مجلد العمل
$directory = '/path/to/your/images/folder';
أمر التنفيذ من الشيل
php -q resize.php