Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检查文件扩展名_Php - Fatal编程技术网

PHP检查文件扩展名

PHP检查文件扩展名,php,Php,我有一个上传脚本,我需要检查文件扩展名,然后根据该文件扩展名运行单独的函数。有人知道我应该用什么代码吗 if (FILE EXTENSION == ???) { FUNCTION1 } else if { FUNCTION2 } pathinfo是您要查找的内容 $original\u str=“this.is.to.find”; 回声“位置:”$pos=strrpos($original_str,“.”); $len=strlen($original_str); 如果($pos>=0) {

我有一个上传脚本,我需要检查文件扩展名,然后根据该文件扩展名运行单独的函数。有人知道我应该用什么代码吗

if (FILE EXTENSION == ???)
{
FUNCTION1
}
else if
{
FUNCTION2
}

pathinfo
是您要查找的内容

$original\u str=“this.is.to.find”;
回声“
位置:”$pos=strrpos($original_str,“.”); $len=strlen($original_str); 如果($pos>=0) { echo“
扩展名:.substr($original_str,$pos+1,$len-$pos); }
对于php
5.3+
您可以使用
SplFileInfo()

$spl = new SplFileInfo($filename); 
print_r($spl->getExtension()); //gives extension 
另外,由于您正在检查文件上传的扩展名,我强烈建议改用mime类型

对于php
5.3+
使用
finfo

$finfo = new finfo(FILEINFO_MIME);
print_r($finfo->buffer(file_get_contents($file name)); 

没有延期的理由是什么?案例无效?案例“”?已更新。空字符串
用于文件,然后以
结尾
NULL
表示没有文件扩展名。您可以分解case语句,但对于示例,我只是将它们组合在一起。@jurchiks
this。是到在大多数操作系统中,“查找”
绝对是一个有效的文件名。我在网站的某个部分使用过此代码。但是,当与
echo“$info”
一起执行时,它总是返回值数组。这是为什么?@user2910074这个问题很老了,我会让你看看你的代码,以便提供任何帮助。我建议您在Soy上发布一个问题,您可能想更改\u array
中“针”和“干草堆”的顺序。
  $original_str="this . is . to . find";
  echo "<br/> Position: ". $pos=strrpos($original_str, ".");
  $len=strlen($original_str);
  if($pos >= 0)
  {
    echo "<br/> Extension: ".   substr($original_str,$pos+1,$len-$pos) ;
   } 
$file_parts = pathinfo($filename);

$file_parts['extension'];
$cool_extensions = Array('jpg','png');

if (in_array($file_parts['extension'], $cool_extensions)){
    FUNCTION1
} else {
    FUNCTION2
}
$spl = new SplFileInfo($filename); 
print_r($spl->getExtension()); //gives extension 
$finfo = new finfo(FILEINFO_MIME);
print_r($finfo->buffer(file_get_contents($file name)); 
$path = 'image.jpg';
echo substr(strrchr($path, "."), 1); //jpg
$file = $_FILES["file"] ["tmp_name"]; 
$check_ext = strtolower(pathinfo($file,PATHINFO_EXTENSION));
if ($check_ext == "fileext") {
    //code
}
else { 
    //code
}