Hamada Ahmed نشر 28 يناير 2021 أرسل تقرير نشر 28 يناير 2021 السلام عليكم عذرا انا مبتدىء قمت بتحميل كود يقوم برفع الصور لقاعدة البيانات ويعيد تسميتها ويعرضها على الويب ( يقوم بتخزين الصور فى مجلد ايضا upload ) لكن لا اعرف الكود الذى اقوم بزرعة فى جدول قاعدة البيانات وما اسم قاعدة البيانات واسم الجدول أيضا لا اعرف ماذا اضع فى الملف bas.php الموجود فى الفورم وهل هو زائد ام له اهمية الكود الذى قمت بتحميلة هو <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 = mysql_connect("localhost", "root", "123456") or die ("فشل في الإتصال بقاعدة لبينات "); $db=mysql_select_db('tc',$con); define ("MAX_SIZE","100"); // 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); 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 = @mysql_query("INSERT INTO `news` VALUES ('', '$newname')"); if($result) { echo "file added"; } else { echo "error"; } $gotten = @mysql_query("Select * From news "); while($row = @mysql_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> "; } } ?> ارجو الافادة 1 اقتباس
0 بلال زيادة نشر 31 يناير 2021 أرسل تقرير نشر 31 يناير 2021 اقتباس هذا مجلد المشروع مضغوط شكرا أخي لرفعك الكود كاملاً, لقد وجدت خطأ في دالة التحقق من size الملف وقد تم استبدالها $size = $_FILES["image"]["size"]; و قد رفع الملف بنجاح وبدون أي مشكلة, الكود كاملاً. <form name="newad" method="post" enctype="multipart/form-data" action="index.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","1000"); // 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']); $size = $_FILES["image"]["size"]; 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... $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> "; } } ?> 1 اقتباس
1 بلال زيادة نشر 28 يناير 2021 أرسل تقرير نشر 28 يناير 2021 وعليكم السلام ورحمة الله وبركاته أولا وجدت عدة أخطاء منها أنك تستخدم mysql وهذا الأن أصبح أصدار قديم, أصدارات PHP الجديدة لا تدعم mysql, قمت بإصلاح جميع الأكواد mysql وتحويلها إلى mysqli لتشتغل على أصدارات PHP الجديدة. ثانيا وجدت مشكلة في دالة رفع الملف, هنا تقوم باستخدام دالة copy هنا عند استخدام دالة copy تقوم بنسخ الملف ووضعه على المسار الجديد ولكن يجب قبل ذلك هو وجود الملف على المسار الذي تريد نقل الملف منه, أي قبل ذلك يجب رفع الملف و من ثم القيام بنسخه, يعني تقوم باستخدام دالة move_uploaded_file($_FILES["image"]["tmp_name"], $newname); لتقوم برفع الملف و بعدها القيام بنسخ الملف إلى مساره الجديد. و أيضا لقد وجدت انك تقوم بحفظ مجلد الملفات المرفوعة داخل قاعدة البيانات وهذا خطأ فيجب حفظ اسم الملف داخل قاعدة البيانات ومن ثم عند جلبه تضع مسار مجلد الملفات المرفوعة و من ثم اسم الملف الذي تريده مثل: <img border='0' src=$pic alt=$pic> تصبح <img border='0' src=uploads/$pic alt=$pic> حتى لو أردت مستقبلاً تغيير اسم مجلد الرفع يكون الأمر سهلا و لا تقع بمشاكل بسبب حفظ اسم المجلد مع اسم الملف. الكود كاملا <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> "; } } ?> 2 اقتباس
0 Hamada Ahmed نشر 28 يناير 2021 الكاتب أرسل تقرير نشر 28 يناير 2021 شكرا لك اخي بلال وبارك الله فيك لكن اعذرني لاني ساطرح اسئلة واتمنى ان تجيبنى 1 - هل قاعدة البيانات اسمها ( tc ) 2 - هل الكود الذي سيتم زرعة فى القاعده سيكون هكذا CREATE TABLE IF NOT EXISTS `news` ( `id` int(11) NOT NULL, `image` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 3 - ما هي الاكواد التى سنكتبها فى الملف bas.php كما جاء فى الفورم <form ...... action="bas.php"> واعتذر لكم مرة اخري على الازعاج واتمنى ان اجد حلا للمشكلة اقتباس
0 Hamada Ahmed نشر 29 يناير 2021 الكاتب أرسل تقرير نشر 29 يناير 2021 (معدل) بتاريخ 16 ساعات قال Hamada Ahmed: شكرا لك اخي بلال وبارك الله فيك لكن اعذرني لاني ساطرح اسئلة واتمنى ان تجيبنى 1 - هل قاعدة البيانات اسمها ( tc ) 2 - هل الكود الذي سيتم زرعة فى القاعده سيكون هكذا CREATE TABLE IF NOT EXISTS `news` ( `id` int(11) NOT NULL, `image` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 3 - ما هي الاكواد التى سنكتبها فى الملف bas.php كما جاء فى الفورم <form ...... action="bas.php"> واعتذر لكم مرة اخري على الازعاج واتمنى ان اجد حلا للمشكلة أتمنى أن يساعدني أحد فى كيفية ارسال الاسم الجديد الذى تم اعطاءة للصورة فى مجلد الرفع ليخزن فى قاعدة البيانات وكيفية عرضة فى الصفحة تم التعديل في 29 يناير 2021 بواسطة Hamada Ahmed اقتباس
0 بلال زيادة نشر 29 يناير 2021 أرسل تقرير نشر 29 يناير 2021 بتاريخ 49 دقائق مضت قال Hamada Ahmed: أتمنى أن يساعدني أحد فى كيفية ارسال الاسم الجديد الذى تم اعطاءة للصورة فى مجلد الرفع ليخزن فى قاعدة البيانات وكيفية عرضة فى الصفحة اسم قاعدة البيانات هو tc صحيح. واسم الجدول المخزن فيه الاستعلامات هو news كما ذكرت ولكن مع تغيير حقل image إلى حقل path لانك تخزن اسم الصورة في حقل path. ممكن تغيير اسم الملف bas.php إلى الملف نفسه الذي حفظت به هذا الكود, لأنه هذا الملف سوف يعيد الرفع من خلاله مرة أخرى, لأنه يحتوي على كود التخزين داخل قاعدة البيانات و أيضا يحتوي على كود الرفع إلى مجلد تخزين الصور. يعني إذا حفظ الملف باسم index.php يجب تغيير الملف في خاصية action إلى نفس اسم الملف. CREATE TABLE `news` ( `id` int(11) NOT NULL, `path` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 1 اقتباس
0 Hamada Ahmed نشر 29 يناير 2021 الكاتب أرسل تقرير نشر 29 يناير 2021 بتاريخ 1 ساعة قال بلال زيادة: اسم قاعدة البيانات هو tc صحيح. واسم الجدول المخزن فيه الاستعلامات هو news كما ذكرت ولكن مع تغيير حقل image إلى حقل path لانك تخزن اسم الصورة في حقل path. ممكن تغيير اسم الملف bas.php إلى الملف نفسه الذي حفظت به هذا الكود, لأنه هذا الملف سوف يعيد الرفع من خلاله مرة أخرى, لأنه يحتوي على كود التخزين داخل قاعدة البيانات و أيضا يحتوي على كود الرفع إلى مجلد تخزين الصور. يعني إذا حفظ الملف باسم index.php يجب تغيير الملف في خاصية action إلى نفس اسم الملف. CREATE TABLE `news` ( `id` int(11) NOT NULL, `path` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; بارك الله فيك اخي الحبيب الصور بالفعل يتم تخزينها باسم جديد فى مجلد upload لكن المسار الجديد لا يخزن فى قاعدة البيانات وتظهر رسالة الخطأ echo "error"; انا لا اعرف لماذا لا يتم الارسال للقاعدة اقتباس
0 Hamada Ahmed نشر 29 يناير 2021 الكاتب أرسل تقرير نشر 29 يناير 2021 يبدو ان هناك خطأ فى الاكواد ربما فى عدد هذه العلامة { او ربما خطأ فى شىء اخر يمنع ارسال البيانات للقاعدة اقتباس
0 بلال زيادة نشر 30 يناير 2021 أرسل تقرير نشر 30 يناير 2021 أخي أرفق مجلد مشروعك كاملا مع التعديلات التي قمت بتعديلها كي أنظر من جديد 1 اقتباس
0 Hamada Ahmed نشر 30 يناير 2021 الكاتب أرسل تقرير نشر 30 يناير 2021 هذا مجلد المشروع مضغوط project.rar اقتباس
0 Hamada Ahmed نشر 31 يناير 2021 الكاتب أرسل تقرير نشر 31 يناير 2021 شكرا اخي وبارك الله فيك هناك مشكلة ان البيانات لا يتم ارسالها الى قاعدة البيانات لكن شكرا لمجهودك وتحياتي لك اقتباس
0 بلال زيادة نشر 31 يناير 2021 أرسل تقرير نشر 31 يناير 2021 بتاريخ 39 دقائق مضت قال Hamada Ahmed: شكرا اخي وبارك الله فيك هناك مشكلة ان البيانات لا يتم ارسالها الى قاعدة البيانات لكن شكرا لمجهودك وتحياتي لك أخي لاحظ أن الكود المرفق هو شغال و يتم تخزين البيانات داخل قاعدة البيانات, هل من الممكن تعمل لقطة شاشة لقاعدة البيانات عندك ؟ اقتباس
0 Hamada Ahmed نشر 31 يناير 2021 الكاتب أرسل تقرير نشر 31 يناير 2021 عذرا اخي المسار يخزن بالفعل فى قاعدة البيانات الخطأ كان عندى فى اسم القاعدة شكرا لك اخي سامحنى تم حل المشكلة تحياتى لك 1 اقتباس
السؤال
Hamada Ahmed
السلام عليكم عذرا انا مبتدىء
قمت بتحميل كود يقوم برفع الصور لقاعدة البيانات ويعيد تسميتها ويعرضها على الويب ( يقوم بتخزين الصور فى مجلد ايضا upload )
لكن لا اعرف الكود الذى اقوم بزرعة فى جدول قاعدة البيانات وما اسم قاعدة البيانات واسم الجدول
أيضا لا اعرف ماذا اضع فى الملف bas.php الموجود فى الفورم وهل هو زائد ام له اهمية
الكود الذى قمت بتحميلة هو
ارجو الافادة
12 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.