اذهب إلى المحتوى
  • 0

كيفية رفع ملف على الخادم في php

Mohammed Maree

السؤال

الأحبة جميعاً مساء الخير.... اتمنى تكونو بخير... فيه عندي سؤال... انا عاوز أنشأ فورم هذا الفورم يكون فيه حقول من خلالها يتم جمع بيانات نصية وملفات... موضوع انشاء الفورم الحقول النصية سهل جدا لكن موضوع ارسال الصور والملفات واجهتني مشاكل كثيرة.... انا عاوز لما الزاءر يرسل صور البطاقه الشخصيه عاوزها تكون في ملفات الصور وفي جدول بيانات php... اذا ممكن كود يحل هذهِ المشكله واتمنى  شرح توضيحي لكم التوفيق اخوكم محمد 

تم التعديل في بواسطة محمد عاطف17
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يجب عليك إنشاء صفحة HTML تحتوي على نموذج (Form) يحتوي على حقول لرفع صورة البطاقة الشخصية وحقول أخري للبينات التي تريدها .

ملف ال form :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <label for="name">الإسم:</label><br>
        <input type="text" id="name" name="name"><br><br>
        
        <label for="email">البريد:</label><br>
        <input type="email" id="email" name="email"><br><br>
        
        <label for="file">قم برفع الصورة الشخصية:</label><br>
        <input type="file" id="file" name="file"><br><br>
        
        
        <input type="submit" value="Submit">
    </form>
</body>
</html>

هنا قمنا بإنشاء form لملئ البيانات والبيانات هي الإسم والبريد و ملف الصورة الشخصية . وأيضا تأكد من وضع خاصية enctype="multipart/form-data" في عنصر ال form للسماح برفع الصور .

ملف PHP لمعالجة النموذج (upload.php):

<?php
// تحقق من أن الفورم تم إرساله بشكل صحيح
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    
    // اتصال بقاعدة البيانات - يمكنك تعديل المعلومات التالية حسب إعدادات قاعدة البيانات الخاصة بك
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "test";
    
    // إنشاء اتصال
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // تحقق من الاتصال
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    
    // استخراج البيانات من الفورم
    $name = $_POST['name'];
    $email = $_POST['email'];
    
    // رفع الصورة الشخصية
    $file_name = $_FILES['file']['name'];
    $file_tmp = $_FILES['file']['tmp_name'];
    move_uploaded_file($file_tmp,"images/".$file_name); // حفظ الصورة في مجلد images بالخادم
    
  
    // تخزين البيانات في قاعدة البيانات
    $sql = "INSERT INTO user (name, email, personal_id_image)
            VALUES ('$name', '$email', '$file_name')";
    
    if ($conn->query($sql) === TRUE) {
        echo "تم إرسال البيانات بنجاح!";
    } else {
        echo "خطأ: " . $sql . "<br>" . $conn->error;
    }
    
    // إغلاق الاتصال بقاعدة البيانات
    $conn->close();
}
?>

تأكد من أن مجلد الصور images موجود ولديك الصلاحية للرفع عليه من قبل السيرفر.

وهذه هي أبسط طريقة لرفع الصور بواسطة php.

ويمكنك قراءة المزيد من الإجابات التالية :

 

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 10 دقائق مضت قال محمد عاطف17:

يجب عليك إنشاء صفحة HTML تحتوي على نموذج (Form) يحتوي على حقول لرفع صورة البطاقة الشخصية وحقول أخري للبينات التي تريدها .

ملف ال form :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <label for="name">الإسم:</label><br>
        <input type="text" id="name" name="name"><br><br>
        
        <label for="email">البريد:</label><br>
        <input type="email" id="email" name="email"><br><br>
        
        <label for="file">قم برفع الصورة الشخصية:</label><br>
        <input type="file" id="file" name="file"><br><br>
        
        
        <input type="submit" value="Submit">
    </form>
</body>
</html>

هنا قمنا بإنشاء form لملئ البيانات والبيانات هي الإسم والبريد و ملف الصورة الشخصية . وأيضا تأكد من وضع خاصية enctype="multipart/form-data" في عنصر ال form للسماح برفع الصور .

ملف PHP لمعالجة النموذج (upload.php):

<?php
// تحقق من أن الفورم تم إرساله بشكل صحيح
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    
    // اتصال بقاعدة البيانات - يمكنك تعديل المعلومات التالية حسب إعدادات قاعدة البيانات الخاصة بك
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "test";
    
    // إنشاء اتصال
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // تحقق من الاتصال
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    
    // استخراج البيانات من الفورم
    $name = $_POST['name'];
    $email = $_POST['email'];
    
    // رفع الصورة الشخصية
    $file_name = $_FILES['file']['name'];
    $file_tmp = $_FILES['file']['tmp_name'];
    move_uploaded_file($file_tmp,"images/".$file_name); // حفظ الصورة في مجلد images بالخادم
    
  
    // تخزين البيانات في قاعدة البيانات
    $sql = "INSERT INTO user (name, email, personal_id_image)
            VALUES ('$name', '$email', '$file_name')";
    
    if ($conn->query($sql) === TRUE) {
        echo "تم إرسال البيانات بنجاح!";
    } else {
        echo "خطأ: " . $sql . "<br>" . $conn->error;
    }
    
    // إغلاق الاتصال بقاعدة البيانات
    $conn->close();
}
?>

تأكد من أن مجلد الصور images موجود ولديك الصلاحية للرفع عليه من قبل السيرفر.

وهذه هي أبسط طريقة لرفع الصور بواسطة php.

ويمكنك قراءة المزيد من الإجابات التالية :

 

 

 

شكرآ جزيلاً اخي...

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...