php - सभी फ़ाइल स्वरूपों के लिए माइम प्रकार की फ़ाइल या यूआरएल का उपयोग करें




amazon-web-services mime-types (3)

हाय मैं किसी भी स्थानीय फ़ाइल या यूआरएल के लिए php में mime प्रकार को खोजने के लिए सबसे अच्छा तरीका के लिए देख रहा हूँ मैंने php के mime_content_type फ़ंक्शन का उपयोग करने की कोशिश की है लेकिन चूंकि यह बहिष्कृत है I php में सभी फ़ाइल प्रारूप के लिए बेहतर समाधान की तलाश कर रहा हूँ।

mime_content_type  Detect MIME Content-type for a file ***(deprecated)***

मैंने पहले से ही फ़ंक्शन के नीचे की कोशिश की है

echo 'welcome';
if (function_exists('finfo_open')) {
    echo 'testing';
    $finfo = finfo_open(FILEINFO_MIME);
    $mimetype = finfo_file($finfo, "http://4images.in/wp-content/uploads/2013/12/Siberian-Tiger-Running-Through-Snow-Tom-Brakefield-Getty-Images-200353826-001.jpg");
    finfo_close($finfo);
    echo $mimetype;
}

उपरोक्त कोड मेरे लिए काम नहीं कर रहा है, मुझे उत्पादन के लिए welcome है। मुझे यकीन नहीं है कि मैं यहाँ कुछ गलत कर रहा हूं।

नीचे कोड मेरे स्थानीय रूप से किसी तरह काम करता है लेकिन यह यूआरएल के लिए काम नहीं करता है।

$file = './apache_pb2.png';
$file_info = new finfo(FILEINFO_MIME);  // object oriented approach!
$mime_type = $file_info->buffer(file_get_contents($file));  // e.g. gives "image/jpeg"
$mime  = explode(';', $mime_type);
print $mime[0];

क्या कुछ काम है जिसके बारे में दोनों (यूआरएल और स्थानीय) के लिए काम करते हैं। Php.also में mime_content_type फ़ंक्शन के अलावा सभी सामग्री (छवि, वीडियो, फ़ाइल आदि) के लिए माइम प्रकार सेट करने का सबसे अच्छा अभ्यास क्या है php में mime_content_type फ़ंक्शन, क्या यह php में सर्वोत्तम अभ्यास है?


पैरामीटर के रूप में FILEINFO_MIME_TYPE फ्लैग के साथ PHP में file_info उपयोग करें

[उदाहरण पीएचपी मैनुअल से लिया गया है]

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

OUTPUT :

text/html
image/gif
application/vnd.ms-excel

EDIT :

आपको अपने PHP.ini पर विस्तार सक्षम करने की आवश्यकता है

;extension=php_fileinfo.dll

उस रेखा से अर्धविराम निकालें और अपने वेबसर्वर को पुनरारंभ करें और आप जाने के लिए अच्छा है।
Installation Doc.


$type = image_type_to_mime_type(exif_imagetype($file));

जवाब मिला,

फ़ाइल का विस्तार खोजने के लिए सबसे अच्छा तरीका है path_info दोनों स्थानीय फ़ाइलों और यूआरएल के लिए उपयोग करना है

$info     = pathinfo($filename);

$basename = $info['basename'];

$ext      = $info['extension'];

माइम प्रकार के लिए एक सरणी बनाएं

$mimeTypes = array("mp4" => "video/mp4");// - उदाहरण यहां और यहां देखें

//get the mime type for file
$type = isset($this->mime_types[$ext]) ? $this->mime_types[$ext] : "application/octet-stream";

उपरोक्त कोड यूआरएल और स्थानीय फाइल दोनों के लिए काम करता है।

ध्यान दें :

सीडीएन एमपी 4 वीडियो म्यूम प्रकार वीडियो / एमपी 4 मुद्दे के साथ संघर्ष करने वाले - मैंने अपने क्लास.s3.php फ़ाइल -> एमएमएमआई टाइप [] सरणी में बदलाव किया था और पुट ओब्जेक्ट () फ़ंक्शन के साथ भी पार किया गया था।

माइम प्रकार की स्थापना हमेशा एडीएसएस एस 3 बाल्टी में कोडिंग पक्ष में की जाती है, हमें AWS PHP Class file or sdk करने के लिए माइम प्रकार में हेरफेर करने या कोर क्लास फ़ाइल में आवश्यक बदलाव करने की आवश्यकता है (उदा। Class.s3। php)





cdn