شرح رفع الصورة وأدخالها الى قاعدة البيانات







رفع الصورة وأدخالها الى قاعدة بيانات أنا لا أفضل هذه الطريقة لانها تعمل حمل على القاعدة أفضل نقل الصورة الى مسار عندك في الموقع وحفظ هذه المسار في القاعدة على كل الاحول راح أشرح للاستفادة هي مثال لما تعمل أدخل لأسم او موضوع فقط عليك عمله تغير نوع الحقل الى BLOB هناك 4 أنواع أو أحجام لها ,, الفرق بينهم فقط الحجم

type max size ------- TINYBLOB 255 BLOB 65_535 MEDIUMBLOB 16_777_215 LARGEBLOB 4_294_967_295 هي نفس أحجام أنواع TEXT لكن هذه مخصص لحفظ Binary Large Objects هي أنواع مثل الصورة وملفات لمزيد عن الانواع MySQL Data Types وهذه لحساب ومعرفة الفرق والاحجام MySQL :: MySQL 5.5 Reference Manual :: 11.7 Data Type Storage Requirements

مختصر TINYBLOB يسمح لك برفع حجم صغير Max: 256B BLOB Max: 64KiB mediumblob يسمح لك برفع حجم Max: 16MiB LONGBLOB Max: 20MiB

مثال بسيط صفحة العرض

رمز PHP:
<!DOCTYPE html>
<
html>
<
head>
    <
meta charset="utf-8">
    <
title>Title Page</title>
</
head>
<
body>
  <
form action="up.php" method="post" role="form" enctype="multipart/form-data">
    <
input type="file" name="image" id="exampleInputFile">
  <
button type="submit">Submit</button>
</
form>
</
body>
</
html 

أدخال الى القاعدة

رمز PHP:
<?php
if(count($_FILES) > 0) {
if(
is_uploaded_file($_FILES['image']['tmp_name'])) {
mysql_connect("localhost""root""");
mysql_select_db ("aa");
$imgData =addslashes(file_get_contents($_FILES['image']['tmp_name']));
$imageProperties getimageSize($_FILES['image']['tmp_name']);
$sql "INSERT INTO image(image ,image_name)
VALUES('
{$imgData}', '{$imageProperties['mime']}')";
$current_id mysql_query($sql) or die("<b>Error:</b> Problem on Image Insert<br/>" mysql_error());
if(isset(
$current_id)) {
//header("Location: test.php");
}}}



 
$q mysql_query("SELECT * FROM `image`");
 while(
$n mysql_fetch_array($q)){
     echo 
'<img src="data:image/png;base64,'.base64_encode($n['image']).'">';
 }

العرض

رمز PHP:
echo '<img src="data:image/png;base64,'.base64_encode($n['image']).'">' 

الملفات في المرفق مع القاعدة

نوع الملف : zip up.zip (288.3 كيلوبايت


المصدر