HassanAli نشر 17 فبراير 2021 أرسل تقرير نشر 17 فبراير 2021 السلام عليكم هل يوجد طريقة اعرض صور في موقعي الشخصي عن طريقة استرجاع صور مضافة من my sql في لغة php؟ 1 اقتباس
1 عبد الله محمد5 نشر 17 فبراير 2021 أرسل تقرير نشر 17 فبراير 2021 يمكنك القيام بذلك كالتالي: $sql = "SELECT imageType,imageData FROM output_images WHERE imageId=" . $_GET['image_id']; $result = mysqli_query($conn, $sql) or die("<b>Error:</b> Problem on Retrieving Image BLOB<br/>" . mysqli_error($conn)); $row = mysqli_fetch_array($result); header("Content-type: " . $row["imageType"]); echo $row["imageData"]; هذا في حالة أنك قمت بتخزين الصورة نفسها في قاعدة البيانات و لكن هذه الطريقة غير محبزة أبداً وعوضاً عن ذلك يمكن تخزين نقل الصورة الى ملف في السيرفر و من ثم تخزين مسار الصورة في قاعدة البيانات. اقتباس
1 بلال زيادة نشر 17 فبراير 2021 أرسل تقرير نشر 17 فبراير 2021 يمكنك القيام بذلك عن طريق الأستعلام select في mysql و إرجاع اسم الصورة من الحقل الذي تم تخزين اسم الصورة فيها فمثلاً قممنا ببرمجة فورم لرفع الصورة وحفظها داخل قاعدة البيانات <form name="newad" method="post" enctype="multipart/form-data" action="bas.php"> <table> <tr><td><input type="file" name="image"></td></tr> <input type="hidden" name="MAX_FILE_SIZE" value="90000" /> <tr><td><input name="Submit" type="submit" value="Upload image"></td></tr> </table> </form> <?php $con = mysqli_connect("localhost", "root", "") or die ("فشل في الإتصال بقاعدة لبينات "); $db=mysqli_select_db($con, 'tc'); define ("MAX_SIZE","10"); // this function to get extension of files................. function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } $errors=0; if(isset($_POST['Submit'])) { $image=$_FILES['image']['name']; if ($image) { $filename = stripslashes($_FILES['image']['name']); $extension = getExtension($filename); $extension = strtolower($extension); if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) { echo '<h1>Unknown extension!</h1>'; $errors=1; } else { $size=filesize($_FILES['image']['name']); if ($size > MAX_SIZE*1024) { echo '<h1>You have exceeded the size limit!</h1>'; $errors=1; } $image_name=time().'.'.$extension; $newname="upload/".$image_name; //$copied = copy($_FILES['image']['tmp_name'], $newname); $copied = move_uploaded_file($_FILES["image"]["tmp_name"], $newname); if (!$copied) { echo '<h1>Copy unsuccessfull!</h1>'; $errors=1; }}}} if(isset($_POST['Submit']) && !$errors) { echo "<h1>File Uploaded Successfully! Try again!</h1>"; // echo "<img src=$newname>"; // ------------------------------------------- To Save Path of Image in DataBase and show it on Browser... // table name $result = @mysqli_query($con, "INSERT INTO `news` VALUES ('', '$newname')"); if($result) { echo "file added"; } else { echo "error"; } $gotten = @mysqli_query($con, "Select * From news"); while($row = @mysqli_fetch_array($gotten)) { $pic=$row['path']; $id=$row['id']; // echo "<img src=$pic>"; // Here to Display Image on Browser and In Blank Browser if you like..... echo " <a href='$pic' target='_blank'> <img border='0' src=$pic alt=$pic> </a> "; } } ?> ومثلا هذا جدول قاعدة البيانات CREATE TABLE `news` ( `id` int(11) NOT NULL, `path` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; فلو تلاحظ في الكود التالي قمنا برفع صورة و من ثم حفظ الصورة داخل حقل path في جدول قاعدة البيانات news, ومن ثم قمنا بجلب الصور المخزنة عن طريق الاستعلام التالي داخل الكود المرفق إعلاه كاملا. // table name $result = @mysqli_query($con, "INSERT INTO `news` VALUES ('', '$newname')"); if($result) { echo "file added"; } else { echo "error"; } $gotten = @mysqli_query($con, "Select * From news"); while($row = @mysqli_fetch_array($gotten)) { $pic=$row['path']; $id=$row['id']; // echo "<img src=$pic>"; // Here to Display Image on Browser and In Blank Browser if you like..... echo " <a href='$pic' target='_blank'> <img border='0' src=$pic alt=$pic> </a> "; } اقتباس
0 HassanAli نشر 19 فبراير 2021 الكاتب أرسل تقرير نشر 19 فبراير 2021 بتاريخ On 17/2/2021 at 14:27 قال عبد الله محمد5: يمكنك القيام بذلك كالتالي: $sql = "SELECT imageType,imageData FROM output_images WHERE imageId=" . $_GET['image_id']; $result = mysqli_query($conn, $sql) or die("<b>Error:</b> Problem on Retrieving Image BLOB<br/>" . mysqli_error($conn)); $row = mysqli_fetch_array($result); header("Content-type: " . $row["imageType"]); echo $row["imageData"]; هذا في حالة أنك قمت بتخزين الصورة نفسها في قاعدة البيانات و لكن هذه الطريقة غير محبزة أبداً وعوضاً عن ذلك يمكن تخزين نقل الصورة الى ملف في السيرفر و من ثم تخزين مسار الصورة في قاعدة البيانات. هذه طريقة تبدوا جيده لاكن مشكلتها انها ترجع الصوره كرموز شكرا لك بتاريخ On 17/2/2021 at 14:36 قال بلال زيادة: يمكنك القيام بذلك عن طريق الأستعلام select في mysql و إرجاع اسم الصورة من الحقل الذي تم تخزين اسم الصورة فيها فمثلاً قممنا ببرمجة فورم لرفع الصورة وحفظها داخل قاعدة البيانات <form name="newad" method="post" enctype="multipart/form-data" action="bas.php"> <table> <tr><td><input type="file" name="image"></td></tr> <input type="hidden" name="MAX_FILE_SIZE" value="90000" /> <tr><td><input name="Submit" type="submit" value="Upload image"></td></tr> </table> </form> <?php $con = mysqli_connect("localhost", "root", "") or die ("فشل في الإتصال بقاعدة لبينات "); $db=mysqli_select_db($con, 'tc'); define ("MAX_SIZE","10"); // this function to get extension of files................. function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } $errors=0; if(isset($_POST['Submit'])) { $image=$_FILES['image']['name']; if ($image) { $filename = stripslashes($_FILES['image']['name']); $extension = getExtension($filename); $extension = strtolower($extension); if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) { echo '<h1>Unknown extension!</h1>'; $errors=1; } else { $size=filesize($_FILES['image']['name']); if ($size > MAX_SIZE*1024) { echo '<h1>You have exceeded the size limit!</h1>'; $errors=1; } $image_name=time().'.'.$extension; $newname="upload/".$image_name; //$copied = copy($_FILES['image']['tmp_name'], $newname); $copied = move_uploaded_file($_FILES["image"]["tmp_name"], $newname); if (!$copied) { echo '<h1>Copy unsuccessfull!</h1>'; $errors=1; }}}} if(isset($_POST['Submit']) && !$errors) { echo "<h1>File Uploaded Successfully! Try again!</h1>"; // echo "<img src=$newname>"; // ------------------------------------------- To Save Path of Image in DataBase and show it on Browser... // table name $result = @mysqli_query($con, "INSERT INTO `news` VALUES ('', '$newname')"); if($result) { echo "file added"; } else { echo "error"; } $gotten = @mysqli_query($con, "Select * From news"); while($row = @mysqli_fetch_array($gotten)) { $pic=$row['path']; $id=$row['id']; // echo "<img src=$pic>"; // Here to Display Image on Browser and In Blank Browser if you like..... echo " <a href='$pic' target='_blank'> <img border='0' src=$pic alt=$pic> </a> "; } } ?> ومثلا هذا جدول قاعدة البيانات CREATE TABLE `news` ( `id` int(11) NOT NULL, `path` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; فلو تلاحظ في الكود التالي قمنا برفع صورة و من ثم حفظ الصورة داخل حقل path في جدول قاعدة البيانات news, ومن ثم قمنا بجلب الصور المخزنة عن طريق الاستعلام التالي داخل الكود المرفق إعلاه كاملا. // table name $result = @mysqli_query($con, "INSERT INTO `news` VALUES ('', '$newname')"); if($result) { echo "file added"; } else { echo "error"; } $gotten = @mysqli_query($con, "Select * From news"); while($row = @mysqli_fetch_array($gotten)) { $pic=$row['path']; $id=$row['id']; // echo "<img src=$pic>"; // Here to Display Image on Browser and In Blank Browser if you like..... echo " <a href='$pic' target='_blank'> <img border='0' src=$pic alt=$pic> </a> "; } تبدو طريقة جيدة لاكن هل لابد ان ارفع الصورة عبر الموقع ومن ثم اقوم بعرضها؟ ام يوجد طريقه استرجاع للصورة عندما تكون الصورة مضافة من mysql نفسه شكرا لك اقتباس
0 بلال زيادة نشر 19 فبراير 2021 أرسل تقرير نشر 19 فبراير 2021 بتاريخ 18 دقائق مضت قال HassanAli: هذه طريقة تبدوا جيده لاكن مشكلتها انها ترجع الصوره كرموز شكرا لك تبدو طريقة جيدة لاكن هل لابد ان ارفع الصورة عبر الموقع ومن ثم اقوم بعرضها؟ ام يوجد طريقه استرجاع للصورة عندما تكون الصورة مضافة من mysql نفسه شكرا لك مرحبا يمكن اضافة الكود على موقعك و تجربته انه يقوم باضافة الصور الى قاعدة البيانات ومن ثم عرضها, ويمكنك استخدام جزئية جلب الصور و عرضها من قاعدة البيانات في أي مكان بملفاتك. اقتباس
السؤال
HassanAli
السلام عليكم
هل يوجد طريقة اعرض صور في موقعي الشخصي عن طريقة استرجاع صور مضافة من my sql في لغة php؟
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.