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

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

[دالة] ارجاع المايم تايب 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 11:55 pm

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

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

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

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

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

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

يعني

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

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

رد: [دالة] ارجاع المايم تايب 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