Emad Saif نشر 28 مارس 2022 أرسل تقرير مشاركة نشر 28 مارس 2022 عندما أقوم برفع ملف في مشروع لارافيل Laravel خاص يتم رفع الملف وتخزينه بدون مشكلة، ولكني أريد أن أسجل حجم الملف في قاعدة البيانات عند رفعه كذلك. أقوم بالوصول إلى الصورة (الملف المرفوع) من خلال الكود التالي: $image = $request->file('img'); كيف يمكنني الحصول على حجم الملف الكامل في لارافيل Laravel؟ 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Wael Aljamal نشر 28 مارس 2022 أرسل تقرير مشاركة نشر 28 مارس 2022 يتوفر الدالة getSize التي تعيد حجم الملف بال bytes ويمكن استدعائها بالطريقة التالية: $imageSize = $request->file('img')->getSize(); وهي متاحة من لارافل 5 وأحدث. كما يمكننا استخدام الواجهة Storage Facade use Illuminate\Support\Facades\Storage; public function get_size($file_path) { return Storage::size($file_path); } وهي تدعم أيضاً الملفات المرفوعة على S3 من خلال تحديد القرص disk s3 use Illuminate\Support\Facades\Storage; public function get_size($file_path) { return Storage::disk('s3')->size($file_path); } وإن أردت الحجم بطريقة مقروءة وأوضح استعمل الدالة التالية: <?php /** * Format bytes to kb, mb, gb, tb * * @param integer $size * @param integer $precision * @return integer */ // نمرر حجم الملف public static function formatBytes($size, $precision = 2) { if ($size > 0) { $size = (int) $size; // معرفة عدد الخانات من حساب مضاعفات 1024 بالنسبة للنظام 2 $base = log($size) / log(1024); // جلب دليل المصفوفة $suffixes = array(' bytes', ' KB', ' MB', ' GB', ' TB'); // إعادة سلسلة نصية تعيد الحجم مع اسم الواحدة return round(pow(1024, $base - floor($base)), $precision) . $suffixes[floor($base)]; } else { return $size; } } التوثيق: laravel 9 filesystem file-metadata 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Emad Saif
عندما أقوم برفع ملف في مشروع لارافيل Laravel خاص يتم رفع الملف وتخزينه بدون مشكلة، ولكني أريد أن أسجل حجم الملف في قاعدة البيانات عند رفعه كذلك.
أقوم بالوصول إلى الصورة (الملف المرفوع) من خلال الكود التالي:
كيف يمكنني الحصول على حجم الملف الكامل في لارافيل Laravel؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.