Hafsa Aly نشر 18 يناير 2021 أرسل تقرير نشر 18 يناير 2021 السلام عليكم ورحمه الله اريد شيئين مهمين: اولا اريد معرفه طريقه تحميل الصور الى الخادم طبعا بلغه php ثانيا اريد معرفه الpassword hashing اقتباس
0 Mohamad Shafiee Jaddini نشر 18 يناير 2021 أرسل تقرير نشر 18 يناير 2021 و عليكم السلام يمكنك تحميل صورة الى الخادم في لغة php من خلال التابع move_uploaded_file حيث نقوم بتمرير متغيرين لهذا التابع كالتالي: move_uploaded_file( $_FILES["image"]["tmp_name"],// هنا نمرر المسار المؤقت لمكان وجود/رفع الصورة "path/to/the/images/folder" //هنا نمرر مسار حفظ الصورة ); و بالطبع يمكنك التطوير على طريقة استخدام التابع السابق، كوضعه ضمن try - catch للحصول على رسائل تحذيرية في حال حصول أخطاء. بالنسبة للـ password hashing فلديك العديد من الخيارات على حسب طريقة ال hashing التي تريدين استخدامها، ولكن غالبا في php لعمل hash لكلمة المرور نقوم باستخدام التابع: MD5 كالتالي: $password= md5("pass123"); // كلمة السر المخزنة مثلا في الداتابيس if (isset($_POST['password']) && !empty($_POST['password'])) { $new_password=$_POST['password']; // كلمة السر المدخلة من المستخدم ضمن الفورم if(md5($new_password)==$password) { echo "<br> Correct password "; } else{ echo "<br> Incorrect password "; } } حيث تخزن عادة كلمات السر ضمن قاعدة البيانات و هي مشفرة. اقتباس
0 عبد الله محمد5 نشر 18 يناير 2021 أرسل تقرير نشر 18 يناير 2021 السلام عليكم أخي بتاريخ 11 دقائق مضت قال Hafsa Aly: اولا اريد معرفه طريقه تحميل الصور الى الخادم طبعا بلغه php هناك طريقتان : الاولى ان تقوم بتحميل الصورة على قاعدة البيانات وهذه غير محبذه لأنها تثقل من قاعدة البيانات وتجعل الضغط عليها كبيراً. الثانية أن تقوم بتحميل الصورة على السيرفر و من ثم تقوم بتخزين المسار المؤدي الى الصورة في قاعدة البيانات. مثال: if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){ // Allow certain file formats $allowTypes = array('jpg','png','jpeg','gif','pdf'); if(in_array($fileType, $allowTypes)){ // Upload file to server if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ // Insert image file name into database $insert = $db->query("INSERT into images (file_name, uploaded_on) VALUES ('".$fileName."', NOW())"); if($insert){ $statusMsg = "The file ".$fileName. " has been uploaded successfully."; }else{ $statusMsg = "File upload failed, please try again."; } }else{ $statusMsg = "Sorry, there was an error uploading your file."; } }else{ $statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.'; } }else{ $statusMsg = 'Please select a file to upload.'; } بالنسبة للpassword hashing فإنك تقوم بتشفير كلمة المرور حتى لايتمكن احد من الاطلاع عليها بمعنى أنك لاتخزن كلمة المرور فعلياً اقتباس
0 Hafsa Aly نشر 18 يناير 2021 الكاتب أرسل تقرير نشر 18 يناير 2021 بتاريخ 13 دقائق مضت قال عبد الله محمد5: السلام عليكم أخي هناك طريقتان : الاولى ان تقوم بتحميل الصورة على قاعدة البيانات وهذه غير محبذه لأنها تثقل من قاعدة البيانات وتجعل الضغط عليها كبيراً. الثانية أن تقوم بتحميل الصورة على السيرفر و من ثم تقوم بتخزين المسار المؤدي الى الصورة في قاعدة البيانات. مثال: if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){ // Allow certain file formats $allowTypes = array('jpg','png','jpeg','gif','pdf'); if(in_array($fileType, $allowTypes)){ // Upload file to server if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ // Insert image file name into database $insert = $db->query("INSERT into images (file_name, uploaded_on) VALUES ('".$fileName."', NOW())"); if($insert){ $statusMsg = "The file ".$fileName. " has been uploaded successfully."; }else{ $statusMsg = "File upload failed, please try again."; } }else{ $statusMsg = "Sorry, there was an error uploading your file."; } }else{ $statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.'; } }else{ $statusMsg = 'Please select a file to upload.'; } بالنسبة للpassword hashing فإنك تقوم بتشفير كلمة المرور حتى لايتمكن احد من الاطلاع عليها بمعنى أنك لاتخزن كلمة المرور فعلياً لم افهم شيئ من الكود ممكن التوضيح اقتباس
0 عبد الله محمد5 نشر 18 يناير 2021 أرسل تقرير نشر 18 يناير 2021 بتاريخ 3 ساعات قال Hafsa Aly: لم افهم شيئ من الكود ممكن التوضيح if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){ هنا يتم التأكد من أن الملف موجود وأن الform تم ارسال بياناته // Allow certain file formats $allowTypes = array('jpg','png','jpeg','gif','pdf'); if(in_array($fileType, $allowTypes)){ // Upload file to server هنا يتم التأكد من نوع الملف انه ملف صورة بالامتدادات الموضحة فإذا كان امتداد الملف واحداً من هذه الامتدادات فإن الملف يعتبر مقبولاً . فقط هنالك تعديل بسيط الرجاء إضافة السطر التالي: $fileName = $_FILES['image']['name']; $fileType = pathinfo($fileName, PATHINFO_EXTENSION); // Upload file to server if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ // Insert image file name into database $insert = $db->query("INSERT into images (file_name, uploaded_on) VALUES ('".$fileName."', NOW())"); الدالة move_uploaded_file تقوم بنقل الملف الى المكان المخصص وهو الtargetFilePath$ ويجب عليك تعريف مسار خاص بالمكان الذي تريد تحميل الملف عليه. إذا تم نقل الملف بنجاح تقوم الدالة بارجاع true فبالتالي يتم تنفيذ السطر القادم وهو ادخال اسم الملف ووقت رفعه على السيرفر اقتباس
0 Hafsa Aly نشر 18 يناير 2021 الكاتب أرسل تقرير نشر 18 يناير 2021 بتاريخ 12 ساعات قال عبد الله محمد5: if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){ هنا يتم التأكد من أن الملف موجود وأن الform تم ارسال بياناته // Allow certain file formats $allowTypes = array('jpg','png','jpeg','gif','pdf'); if(in_array($fileType, $allowTypes)){ // Upload file to server هنا يتم التأكد من نوع الملف انه ملف صورة بالامتدادات الموضحة فإذا كان امتداد الملف واحداً من هذه الامتدادات فإن الملف يعتبر مقبولاً . فقط هنالك تعديل بسيط الرجاء إضافة السطر التالي: $fileName = $_FILES['image']['name']; $fileType = pathinfo($fileName, PATHINFO_EXTENSION); // Upload file to server if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ // Insert image file name into database $insert = $db->query("INSERT into images (file_name, uploaded_on) VALUES ('".$fileName."', NOW())"); الدالة move_uploaded_file تقوم بنقل الملف الى المكان المخصص وهو الtargetFilePath$ ويجب عليك تعريف مسار خاص بالمكان الذي تريد تحميل الملف عليه. إذا تم نقل الملف بنجاح تقوم الدالة بارجاع true فبالتالي يتم تنفيذ السطر القادم وهو ادخال اسم الملف ووقت رفعه على السيرفر هل كتابة الكود بهذه الطريقه لايتضمن حفظ الصورة ع السيرفر وحفظها مباشرة في قاعدة البيانات $folder = "../../site/images/"; $image = $_FILES['image']['name']; $target = $folder.basename($image); move_uploaded_file($_FILES["image"]["tmp_name"], "$folder".$_FILES["image"]["name"]); $images = $_FILES['images']['name']; $target = "$folder".basename($images); move_uploaded_file($_FILES["images"]["tmp_name"], "$folder".$_FILES["images"]["name"]); اقتباس
0 عبد الله محمد5 نشر 18 يناير 2021 أرسل تقرير نشر 18 يناير 2021 الكود غير مفهوم الرجاء عمل تنسيق كود وكتابته فيه اقتباس
0 عبد الله محمد5 نشر 19 يناير 2021 أرسل تقرير نشر 19 يناير 2021 بتاريخ 12 ساعات قال Hafsa Aly: هل كتابة الكود بهذه الطريقه لايتضمن حفظ الصورة ع السيرفر وحفظها مباشرة في قاعدة البيانات $folder = "../../site/images/"; $image = $_FILES['image']['name']; $target = $folder.basename($image); move_uploaded_file($_FILES["image"]["tmp_name"], "$folder".$_FILES["image"]["name"]); $images = $_FILES['images']['name']; $target = "$folder".basename($images); move_uploaded_file($_FILES["images"]["tmp_name"], "$folder".$_FILES["images"]["name"]); لا هذا الكود يقوم فقط بنقل الملف إلى السيرفر عن طريق الدالة move_uploaded_file والتي تم تكرارها اكثر من مرة إذا لم يكن هنالك سبب لتكرار الكود أظن انه يجب عليك أن تكتفي بالأربعة أسطر الأولى فقط. اقتباس
السؤال
Hafsa Aly
السلام عليكم ورحمه الله
اريد شيئين مهمين: اولا اريد معرفه طريقه تحميل الصور الى الخادم طبعا بلغه php
ثانيا اريد معرفه الpassword hashing
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.