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

دروس لتعلم كيفية البرمجه بـ PHP , أو بعض الأفكار البرمجيه المفيده ! أيضا لشرح بعض الدوال أو الكلاسات التي قام الأعضاء او الغير بعملها , لتدمجها ببرامجك .

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

مشاركةبواسطة saanina » السبت مارس 28, 2009 12:37 am

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

CODE: تحديد الكل
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';
    }
 


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


مرر مسار الملف للدالة وسوف تحصل على المايم تايب
صورة العضو الشخصية
saanina
عبدالرحمــــن
 
مشاركات: 3762
اشترك في: الاثنين أغسطس 30, 2004 1:54 pm

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

مشاركةبواسطة dahham » الأربعاء أكتوبر 20, 2010 12:02 am

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

مع جزيل الشكر
صورة العضو الشخصية
dahham
عضو جديد
 
مشاركات: 1
اشترك في: الثلاثاء أكتوبر 19, 2010 11:55 pm

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

مشاركةبواسطة saanina » الجمعة أكتوبر 22, 2010 2:43 am

يعني

CODE: تحديد الكل
$mime mime_type('images/file_path.gif'); 
صورة العضو الشخصية
saanina
عبدالرحمــــن
 
مشاركات: 3762
اشترك في: الاثنين أغسطس 30, 2004 1:54 pm

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

مشاركةبواسطة harede » الأحد نوفمبر 28, 2010 3:23 am

هذا السطر يحوي به خطأ
علما باني اعمل على اصدار PHP Version 5.3.1
CODE: تحديد الكل
list($dir$base$ext$file) = pathinfo($filename);
 


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

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

CODE: تحديد الكل

                        $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
صورة العضو الشخصية
harede
عضو جديد
 
مشاركات: 39
اشترك في: الأحد يوليو 27, 2008 7:08 am


العودة إلى دروس PHP و أفكار وقصاصات و دوال وكلاسات برمجيه