[دالة] ارجاع المايم تايب mime type لاي ملف

دروس لتعلم كيفية البرمجه بـ PHP , أو بعض الأفكار البرمجيه المفيده ! أيضا لشرح بعض الدوال أو الكلاسات التي قام الأعضاء او الغير بعملها , لتدمجها ببرامجك .
مغلق
saanina
عبدالرحمــــن
مشاركات: 3762
اشترك في: 30 أغسطس 2004, 13:54

[دالة] ارجاع المايم تايب mime type لاي ملف

مشاركة بواسطة saanina »

هذه دالة تقوم بارجاع المايم تايب mime type لاكثر الملفات

كود: تحديد الكل

function mime_type($filename)
    {
        
$mime_types = array('au'      => 'audio/basic',
                            
'avi'     => 'video/x-msvideo',
                            
'axs'     => 'application/olescript',
                            
'bas'     => 'text/plain',
                            
'bcpio'   => 'application/x-bcpio',
                            
'bin'     => 'application/octet-stream',
                            
'bmp'     => 'image/bmp',
                            
'c'       => 'text/plain',
                            
'css'     => 'text/css',
                            
'doc'     => 'application/msword',
                            
'dot'     => 'application/msword',
                            
'evy'     => 'application/envoy',
                            
'exe'     => 'application/octet-stream',
                            
'gif'     => 'image/gif',
                            
'gtar'    => 'application/x-gtar',
                            
'gz'      => 'application/x-gzip',
                            
'h'       => 'text/plain',
                            
'htm'     => 'text/html',
                            
'html'    => 'text/html',
                            
'htt'     => 'text/webviewhtml',
                            
'ico'     => 'image/x-icon',
                            
'jpe'     => 'image/jpeg',
                            
'jpeg'    => 'image/jpeg',
                            
'jpg'     => 'image/jpeg',
                            
'js'      => 'application/x-javascript',
                            
'm3u'     => 'audio/x-mpegurl',
                            
'mht'     => 'message/rfc822',
                            
'mhtml'   => 'message/rfc822',
                            
'mid'     => 'audio/mid',
                            
'mov'     => 'video/quicktime',
                            
'movie'   => 'video/x-sgi-movie',
                            
'mp2'     => 'video/mpeg',
                            
'mp3'     => 'audio/mpeg',
                            
'mpa'     => 'video/mpeg',
                            
'mpe'     => 'video/mpeg',
                            
'mpeg'    => 'video/mpeg',
                            
'mpg'     => 'video/mpeg',
                            
'mpp'     => 'application/vnd.ms-project',
                            
'mpv2'    => 'video/mpeg',
                            
'mvb'     => 'application/x-msmediaview',
                            
'pdf'     => 'application/pdf',
                            
'pot'     => 'application/vnd.ms-powerpoint',
                            
'ppm'     => 'image/x-portable-pixmap',
                            
'pps'     => 'application/vnd.ms-powerpoint',
                            
'ppt'     => 'application/vnd.ms-powerpoint',
                            
'qt'      => 'video/quicktime',
                            
'ra'      => 'audio/x-pn-realaudio',
                            
'ram'     => 'audio/x-pn-realaudio',
                            
'rtf'     => 'application/rtf',
                            
'stm'     => 'text/html',
                            
'svg'     => "image/svg+xml",
                            
't'       => 'application/x-troff',
                            
'tex'     => 'application/x-tex',
                            
'tgz'     => 'application/x-compressed',
                            
'tif'     => 'image/tiff',
                            
'tiff'    => 'image/tiff',
                            
'tr'      => 'application/x-troff',
                            
'txt'     => 'text/plain',
                            
'wav'     => 'audio/x-wav',
                            
'xla'     => 'application/vnd.ms-excel',
                            
'xlc'     => 'application/vnd.ms-excel',
                            
'xlm'     => 'application/vnd.ms-excel',
                            
'xls'     => 'application/vnd.ms-excel',
                            
'xlt'     => 'application/vnd.ms-excel',
                            
'z'       => 'application/x-compress',
                            
'zip'     => 'application/zip'
                            
);

        list(
$dir$base$ext$file) = pathinfo($filename);
        return isset(
$mime_types[$ext]) ? $mime_types[$ext] : 'application/octet-stream';
    }
 


طريقة الاستخدام :


مرر مسار الملف للدالة وسوف تحصل على المايم تايب
dahham
عضو جديد
مشاركات: 1
اشترك في: 19 أكتوبر 2010, 23:55

رد: [دالة] ارجاع المايم تايب mime type لاي ملف

مشاركة بواسطة dahham »

ارجو شرح العباره التاليه بالتفصيل
(مرر مسار الملف للدالة وسوف تحصل على المايم تايب)

مع جزيل الشكر
saanina
عبدالرحمــــن
مشاركات: 3762
اشترك في: 30 أغسطس 2004, 13:54

رد: [دالة] ارجاع المايم تايب mime type لاي ملف

مشاركة بواسطة saanina »

يعني

كود: تحديد الكل

$mime mime_type('images/file_path.gif'); 
harede
عضو جديد
مشاركات: 39
اشترك في: 27 يوليو 2008, 07:08

رد: [دالة] ارجاع المايم تايب mime type لاي ملف

مشاركة بواسطة harede »

هذا السطر يحوي به خطأ
علما باني اعمل على اصدار PHP Version 5.3.1

كود: تحديد الكل

list($dir$base$ext$file) = pathinfo($filename);
 


عندما استعرضت القيم الموجودة بالمتغيرات الاربعة جميعها NULL ؟
وبالتالي تعطي لا تخرج اي قيمة

عند استبدال السطر السابق بـ

كود: تحديد الكل


                        $path_parts 
pathinfo($filename); 
                        
$dir        =  $path_parts['dirname'];
                        
$base       =  $path_parts['basename'];
                        
$ext        =  $path_parts['extension'];
                        
$file        =  $path_parts['filename'];
 


عملت معي بكفاءة ... الخطأ ان دالة list لا تقبل الا arrays من نوع Numric في حين ان دالة pathinfo تعطي array من نوع Associative
مغلق