سؤال

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

تم حلها:لقد استخدمت أساليب mage/core/file/Model/storage/database.php النموذجية للكتابة في الجدول core_file_storage

هل كانت مفيدة؟

المحلول

لست متأكدًا من سبب توقفك عن تخزين الملفات في نظام الملفات، فلا يُنصح بالتخزين في قاعدة البيانات لأن قاعدة البيانات الخاصة بك ستصبح ضخمة بسرعة.

ما هو مخطط الجدول؟يمكنك حفظ ملفات blob عن طريق الحصول على محتوى الملف باستخدام file_get_contents وظيفة PHP.

جرب شيئًا كهذا، بعد استبدال البيانات أدناه ببياناتك الحقيقية:

Mage::getModel('core/file_storage')
->setCustomerId($custId)
->setYourFile(file_get_contents('/path/to/file.ext'))
->save();

ومن ثم جلب:

Mage::getModel('core/file_storage')->load($custId);
$blobFile = $cust->getYourFile();

// وللعرض في الواجهة الأمامية...إذا كانت الصورة:

header("Content-type: image/jpg"); //Send the content Type here.
echo $blobFile;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top