Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql डेटाबेस में छवि अपलोड करें php

यहां एक स्क्रिप्ट है जिसे मैंने आपकी तालिका संरचना के साथ काम करने के लिए संशोधित किया है।

function addImageToDB($imageArray, $title = '', $subject = '', $visible = 0) {

$allowedExts = array("gif","jpeg","jpg","JPG","png","PNG");
$extension = end(explode(".", $imageArray["name"]));

if (
    (($imageArray["type"] == "image/gif") // is image type acceptable?
        || ($imageArray["type"] == "image/jpeg")
        || ($imageArray["type"] == "image/jpg")
        || ($imageArray["type"] == "image/png")
    )
    && ($imageArray["size"] < 1048576) // set maximum image size
    && in_array($extension, $allowedExts) // is image file extension in $allowedExts?
) {

    if ($imageArray["error"] > 0) { // check uploaded image for errors
        echo $imageArray['error'];
    } else {

        $tempImage = $imageArray['tmp_name'];
        $fp = fopen($tempImage, 'r');
        $image = fread($fp, filesize($tempImage));
        $image = addslashes($image);
        fclose($fp);

        $queryAddImageToDB = "INSERT INTO image (
            title,
            subject,
            image,
            visible
        ) VALUES (
            '$title'
            '$subject',
            '$image',
            '$visible'
        )";

        mysql_query ($queryAddImageToDB) or die ('queryAddImageToDB failed');
        $imageID = mysql_insert_id();

        return $imageID;

    }
} else {

    echo 'IMAGE UPLOAD ERROR: The image ie either too large or the file format is unacceptable.';

    echo '<pre>';
        print_r($imageArray); // display image array for debugging
    echo '</pre>';

}
';} . के लिए इमेज ऐरे प्रदर्शित करें

}

आप फ़ंक्शन को इस तरह कॉल कर सकते हैं:

$imageArray = $_FILES['image'];
$title = $_POST['title'];
$subject = $_POST['subject'];
$visible = 1;
addImageToDB($imageArray, $title, $subject, $visible);

कृपया ध्यान दें कि यह स्क्रिप्ट पूर्ण नहीं है क्योंकि इसके लिए उचित सत्यापन, भागने आदि की आवश्यकता है।

शुभकामनाएँ मुझे आशा है कि यह आपके लिए कारगर होगा और मैं अन्यथा प्रतिक्रिया सुनने के लिए उत्सुक हूँ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं MySQL त्रुटि #1064 को कैसे ठीक कर सकता हूं?

  2. MySQL प्रक्रियाओं को कैसे दिखाएं

  3. विशिष्ट पंक्ति मान द्वारा गतिशील रूप से स्तंभ नाम प्राप्त करें

  4. जावा MYSQL तैयार कथन त्रुटि:'?' के पास उपयोग करने के लिए सिंटैक्स की जाँच करें लाइन 1 . पर

  5. MYSQL:चयन विधि - लेकिन डुप्लीकेट/ग्रुप या DISTINCT न दिखाएं?