2010-06-19 6 views
7
nasıl dosya php sürümünde resim veya video tipi olup olmadığını kontrol etmek

5.2.9Dosyanın görüntü veya video türü olup olmadığını nasıl kontrol edeceğinizi php sürüm 5.2.9?

+0

olası yinelenen [dosya mp3 veya resim dosyası ise PHP nasıl ben kontrol edebilirsiniz] (http://stackoverflow.com/questions/2006632/php-how-can-i-check-if-a-file-is-mp3-or-image-file) - rağmen soru başlığı, verilen cevapların iyi bir şekilde karşılanabileceğinden bağımsız bir filitip olan – Gordon

cevap

3
Sen yardım sayfasında

<?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); 
?> 

DÜZENLEME den finfo_file function

Örnek kullanarak MIME türünü kontrol edebilirsiniz

: Sorunuzu daha iyi kontrol ettikten sonra, bu işe yaramazsa, finfo işlevleri gerektirir PHP 5.3.0

14
$mime = mime_content_type($file); 
if(strstr($mime, "video/")){ 
    // this code for video 
}else if(strstr($mime, "image/")){ 
    // this code for image 
} 

Çoğu dosya uzantısı için çalışmalıdır. arasında

6

Örnek Kod

function getMimeType($filename) 
{ 
    $mimetype = false; 
    if(function_exists('finfo_fopen')) { 
     // open with FileInfo 
    } elseif(function_exists('getimagesize')) { 
     // open with GD 
    } elseif(function_exists('exif_imagetype')) { 
     // open with EXIF 
    } elseif(function_exists('mime_content_type')) { 
     $mimetype = mime_content_type($filename); 
    } 
    return $mimetype; 
} 
+0

+1 bu en iyi ve platform bağımsız çözümdür. –

1
if(isset($_FILES['my_file'])) { 
$mime = $_FILES['my_file']['type']; 
if(strstr($mime, "video/")){ 
$filetype = "video"; 
}else if(strstr($mime, "image/")){ 
$filetype = "image"; 
}else if(strstr($mime, "audio/")){ 
$filetype = "audio"; 
} 
+2

Bu kod soruyu yanıtlayabilirken, sorunun nasıl çözüldüğünü ve neden kullanıldığını açıklamak daha iyi olurdu. Sadece kod cevapları uzun vadede yararlı değildir. –

+0

Bu cevap, yalnızca yüklenen dosyalar için geçerlidir. Ayrıca, ['tür' 'tarayıcı tarafından sağlanır (varsa)] (http://php.net/manual/en/features.file-upload.post-method.php) ve bu nedenle tam olarak olmayabilir güvenilir. – Pang

İlgili konular