0

我想知道如何让 PHP 检查它有什么扩展,然后执行代码。例如,让我们看看它是一个 .mp3 文件,然后它会执行: echo 'This is a mp3 file.'; 当然不是用那个代码——而是更高级。无论如何,有什么想法等吗?

4

6 回答 6

2

使用pathinfo() 函数来隔离文件的扩展名,然后在 if 语句中使用该值。

于 2012-08-31T20:57:57.137 回答
1

有多种方法可以做到这一点。如果您所做的只是检查 mp3,只需在句点上爆炸,弹出最后一个,然后查看字符串是否相等。

例如:

$name = "song.mp3";
$parts = explode('.', $name);
$extension = array_pop($parts);
if( $extension == 'mp3'){
    echo 'This is a mp3 file.';
}

如果您正在检查各种扩展并且它们已上传使用

$_FILES['file']['type'];
于 2012-08-31T20:57:54.093 回答
1

检查这两个选项来做到这一点:

$filename = 'music.mp3'
$ext = substr(strrchr($filename, '.'), 1);

或者

$filename = 'music.mp3';
$ext = pathinfo($filename, PATHINFO_EXTENSION);

希望能帮助到你 :)

于 2012-08-31T21:01:01.127 回答
0

如果要正确检测文件的类型,请使用Fileinfo

为 PHP 的注释撕掉的示例:

<?php
$fi = new finfo(FILEINFO_MIME,'/usr/share/file/magic');
$mime_type = $fi->buffer(file_get_contents($file));
于 2012-08-31T21:11:41.713 回答
0

您可以使用filetype()$_FILES[$file][type]来获取文件类型。

于 2012-08-31T20:59:33.133 回答
0

尝试这个

    $file_name = "test.txt";
    $extension = pathinfo($file_name);
    echo "Your file extension is ".$extension ['extension'];
于 2012-08-31T21:01:12.317 回答