PHP中是否有一个可以检查字符串是否是扩展名的函数?
PHP中是否有一个函数可以检查字符串是否是文件的扩展名?例如:PHP中是否有一个可以检查字符串是否是扩展名的函数?,php,Php,PHP中是否有一个函数可以检查字符串是否是文件的扩展名?例如: $q = 'txt'; if ( is_extension($q) ) { echo "yee, this is a extension"; } else { echo "no, this isn't any extension"; } 我有一个URL,例如:。我想检查此URL是否包含任何扩展名,并检查此扩展名是否正确 谢谢 前来救援: echo pathinfo('http://example.com/a.tx
$q = 'txt';
if ( is_extension($q) )
{
echo "yee, this is a extension";
}
else
{
echo "no, this isn't any extension";
}
我有一个URL,例如:。我想检查此URL是否包含任何扩展名,并检查此扩展名是否正确
谢谢 前来救援:
echo pathinfo('http://example.com/a.txt', PATHINFO_EXTENSION);
//⇒ txt
要检查允许的ext,请执行以下操作:
echo in_array(
pathinfo('http://example.com/a.txt', PATHINFO_EXTENSION),
array('txt','html')
);
//⇒ 1
尽管上面已经完成了它的工作,但检查MIME
-type更容易出错,也更方便。只需使用php中的pathinfo()
函数即可获得扩展名。要检查扩展是否正确,您必须创建一个扩展数组。使用下面的代码
<?php
$url = ' http://example.com/user-name/user-dir/any-file-to-download.txt(text)';
$array = array("txt","doc");
$extension = pathinfo($url, PATHINFO_EXTENSION);
if($extension !=="" && in_array($extension, $array)){
echo "It has extension and that is ".$extension ;
}
else{
echo "It doesn't have extension";
}
是否要断言它符合MIME标识符语法?包括属性?或者它是已知的MIME类型?(顺便说一句,txt
不是一个。那应该是text/plain
)我有一个URL,例如:。我想检查此URL是否包含任何扩展名,并检查此扩展名是否正确。您做错了。但无论如何,你总是可以打电话的。你说的分机是什么意思?好的,但如果我们有这样一个链接:?pathinfo返回“TXXT(文本)”。我们知道-此扩展不正确。如何检查扩展名是否正确?txt=正确的扩展名,因为此扩展名的MIME类型为:text/plain。txxxt=此扩展不正确,因为此扩展的MIME类型不存在。WUT?虽然有一些已知的MIME类型列表,但没有“正确的扩展名”和/或“MIME类型存在”这样的东西。每个人都可以介绍自己的MIME类型。完全允许将某物的MIME类型设置为application/x-where
。这个MIME类型是完全正确的,尽管用你的术语来说它是不可抗拒的。@mudasobwa如果你想在视图中使用正确的扩展名,那么你只有一个选择,那就是创建一个数组。任何人都可以把他/她变成新的extension@Hudixt我知道,正如你可能从我之前的评论中看到的。好吧,但我什么时候能找到所有类型的扩展?如果我必须创建一个包含扩展名的数组,我需要所有扩展名的列表。parse_url
在这里毫无意义。如果OP想要获得域名或其他信息,请更新我的答案。