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

السؤال

Recommended Posts

  • 0
نشر
<?php
/*
محمد الدريدي
https://twitter.com/mhmd_aldrydy
upload.php
*/
if($_POST)
{
// بيانات الاتصال بقاعدة البيانات
$host = "localhost";
$db_name = "database_name";
$username = "username";
$password = "password";


// اتصال قاعدة البيانات
$con = mysqli_connect($host, $username, $password, $db_name);

// فحص الاتصال
if(mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// رفع الصورة
// اتصال قاعدة البيانات
$con = mysqli_connect($host, $username, $password, $db_name);

// فحص الاتصال
if(mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// رفع الصورة
if(isset($_FILES['image'])) {
    $errors = array();
    $image_name = $_FILES['image']['name'];
    $image_size = $_FILES['image']['size'];
    $image_tmp = $_FILES['image']['tmp_name'];
    $image_type = $_FILES['image']['type'];
    $image_ext = strtolower(end(explode('.', $_FILES['image']['name'])));

    $image_extensions = array("jpg", "jpeg", "png");

    if(in_array($image_ext, $image_extensions) === false) {
        $errors[] = "extension not allowed, please choose an image file.";
    }

    if($image_size > 2097152) {
        $errors[] = 'Image size must be less than 2 MB';
    }

    if(empty($errors) == true) {
        $image_data = file_get_contents($image_tmp);
        $image_base64 = base64_encode($image_data);
        $sql = "INSERT INTO images (image) VALUES ('$image_base64')";
        if(mysqli_query($con, $sql)) {
            echo "Image uploaded successfully.";
        } else {
            echo "Error uploading image.";
        }
    } else {
        print_r($errors);
    }
}

// غلق الاتصال
mysqli_close($con);
}
?>

 

<form action="upload.php" method="post" enctype="multipart/form-data">
  <label for="image">Select image to upload:</label>
  <input type="file" name="image" id="image">
  <input type="submit" value="Upload Image" name="submit">
</form>

 

لاحظ تقدر تضيف انواع ملفات اخرى في المصفوفة

    $image_extensions = array("jpg", "jpeg", "png");

 

  • 0
نشر

من غير الجيد تخزين هذه الملفات في قاعدة البيانات، من الأفضل أن يتم تخزينها في وسط تخزين خارجي و وضع المسار الخاص بها فقط.

هذا أفضل من ناحية الأداء، بالإضافة إلى أنه أوفر، حيث أن تكلفة التخزين لقاعدة البيانات أكبر بكثير من تكلفة التخزين العادي.

يمكنك التخزين على إحدى خدمات التخزين على السحاب التي توفرها الكثير من الشركات و منها AWS, Google و غيرها الكثير،و نقوم بوضع رابط الصورة أو الملف في قاعدة البيانات فقط.

  • 0
نشر
بتاريخ On 22‏/12‏/2022 at 08:04 قال عادل محمد أحمد حسين:

محتاج كود رفع ملف PDF  وصور وتخزينها في قواعد البيانات MySQL باستخدم لغة PHP أن طريق استدعاء من ملف خارج

 

  وشكرا جزيلاً 

 

 

بتاريخ On 22‏/12‏/2022 at 15:14 قال محمد الدريدي:
<?php
/*
محمد الدريدي
https://twitter.com/mhmd_aldrydy
upload.php
*/
if($_POST)
{
// بيانات الاتصال بقاعدة البيانات
$host = "localhost";
$db_name = "database_name";
$username = "username";
$password = "password";


// اتصال قاعدة البيانات
$con = mysqli_connect($host, $username, $password, $db_name);

// فحص الاتصال
if(mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// رفع الصورة
// اتصال قاعدة البيانات
$con = mysqli_connect($host, $username, $password, $db_name);

// فحص الاتصال
if(mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// رفع الصورة
if(isset($_FILES['image'])) {
    $errors = array();
    $image_name = $_FILES['image']['name'];
    $image_size = $_FILES['image']['size'];
    $image_tmp = $_FILES['image']['tmp_name'];
    $image_type = $_FILES['image']['type'];
    $image_ext = strtolower(end(explode('.', $_FILES['image']['name'])));

    $image_extensions = array("jpg", "jpeg", "png");

    if(in_array($image_ext, $image_extensions) === false) {
        $errors[] = "extension not allowed, please choose an image file.";
    }

    if($image_size > 2097152) {
        $errors[] = 'Image size must be less than 2 MB';
    }

    if(empty($errors) == true) {
        $image_data = file_get_contents($image_tmp);
        $image_base64 = base64_encode($image_data);
        $sql = "INSERT INTO images (image) VALUES ('$image_base64')";
        if(mysqli_query($con, $sql)) {
            echo "Image uploaded successfully.";
        } else {
            echo "Error uploading image.";
        }
    } else {
        print_r($errors);
    }
}

// غلق الاتصال
mysqli_close($con);
}
?>

 

<form action="upload.php" method="post" enctype="multipart/form-data">
  <label for="image">Select image to upload:</label>
  <input type="file" name="image" id="image">
  <input type="submit" value="Upload Image" name="submit">
</form>

 

لاحظ تقدر تضيف انواع ملفات اخرى في المصفوفة

    $image_extensions = array("jpg", "jpeg", "png");

 

هاي الكود ظريف شديد وشغال لكن أنا عايز امتداد الملف يتم تخزينها في قاعد البيانات من اجل جلبها مع بيانات اخري

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...