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

MySQL कॉलम से माइम प्रकार निर्धारित करें

यदि आपका होस्ट अभी भी php 5.2 का उपयोग करता है और आपके पास fileinfo फ़ंक्शन तक पहुंच नहीं है, तो आप माइम प्रकार निर्धारित करने के लिए फ़ाइल हेडर सिग्नेचर (मैजिक नंबर) का परीक्षण कर सकते हैं

function mimetype($data)
{
    //File signatures with their associated mime type
    $Types = array(
    "474946383761"=>"image/gif",                        //GIF87a type gif
    "474946383961"=>"image/gif",                        //GIF89a type gif
    "89504E470D0A1A0A"=>"image/png",
    "FFD8FFE0"=>"image/jpeg",                           //JFIF jpeg
    "FFD8FFE1"=>"image/jpeg",                           //EXIF jpeg
    "FFD8FFE8"=>"image/jpeg",                           //SPIFF jpeg
    "25504446"=>"application/pdf",
    "377ABCAF271C"=>"application/zip",                  //7-Zip zip file
    "504B0304"=>"application/zip",                      //PK Zip file ( could also match other file types like docx, jar, etc )
    );

    $Signature = substr($data,0,60); //get first 60 bytes shouldnt need more then that to determine signature
    $Signature = array_shift(unpack("H*",$Signature)); //String representation of the hex values

    foreach($Types as $MagicNumber => $Mime)
    {
        if( stripos($Signature,$MagicNumber) === 0 )
            return $Mime;  
    }

    //Return octet-stream (binary content type) if no signature is found
    return "application/octet-stream"; 
}

नोट: कुछ हस्ताक्षर दूसरों के आंशिक रूप से मेल खा सकते हैं, उदाहरण के लिए पीके ज़िप फ़ाइल हस्ताक्षर जावा संग्रह (.jar) फ़ाइल हस्ताक्षर के पहले 4 बाइट्स से मेल खाता है, माइम के लिए सही हस्ताक्षर निर्धारित करने के लिए फ़ोरैच लूप में अतिरिक्त कथनों की आवश्यकता होगी टाइप करें , लेकिन आपकी स्थिति के लिए यह करना चाहिए।

फ़ाइल हस्ताक्षरों की एक अद्यतन सूची http://www.garykessler.net/library पर पाई जा सकती है। /file_sigs.html अगर किसी को अधिक फ़ाइल हस्ताक्षर प्रकारों की आवश्यकता है।



  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:क्या आईएन क्लॉज की प्रविष्टियों की कोई सीमा है?

  2. समूह के अंदर mysql सीमा?

  3. MySQL ON DUPLICATE KEY ऑडिट या लॉग टेबल में डालें

  4. Godaddy पर MySQL और Entity Framework का उपयोग करते हुए सुरक्षा अपवाद

  5. MySQL, जांचें कि SQL के साथ तालिका में कोई कॉलम मौजूद है या नहीं