عرض صورة مخزنة في MySQL BLOB
عند محاولة عرض صورة مخزنة كـ BLOB في قاعدة بيانات MySQL باستخدام PHP المتوفر التعليمات البرمجية، واجه المستخدمون مشكلة حيث يؤدي إخراج أي نص أو محتوى قبل الصورة أو بعدها إلى حدوث أخطاء في العرض. تتناول هذه المقالة هذه المشكلة وتقدم حلاً لعرض عناصر إضافية بجانب الصورة.
الكود الأصلي:
include("inc/library.php");
connectToDatabase();
$sql = "SELECT * FROM theBlogs WHERE ID = 1;";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
header("Content-type: image/jpeg");
echo $row['imageContent'];
$db->close();
يحاول تكرار محتوى الصورة مباشرة في الصفحة، ولكنه يواجه مشاكل إذا تم إخراج أي محتوى آخر قبله أو بعده.
الحل
تنشأ المشكلة لأن المتصفحات تعتبر أي نص أو محتوى خارج بيانات الصورة جزءًا من الصورة. لحل هذه المشكلة، يمكن تحويل بيانات الصورة إلى Base64 ودمجها داخل علامة .
echo '';
echo 'Hello world.';
يقوم هذا الحل بتحويل بيانات الصورة إلى Base64 ويضعها في علامة ، مما يسمح بعرض الصورة بشكل صحيح مع السماح أيضًا بإخراج محتوى إضافي على الصفحة. ملاحظة: على الرغم من نجاح هذا الأسلوب، إلا أنه ليس الأمثل للأداء والتخزين المؤقت. يوصى باستكشاف حلول بديلة لعرض الصور المخزنة ككائنات تخزين كبيرة الحجم (BLOBs) في قواعد بيانات MySQL، مثل استخدام آليات التخزين المؤقت أو خوادم الصور الخارجية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3