本文目录一览:
- 1、PHP读取文件前几个字节 判断文件类型函数
- 2、PHP判断文件名是否符合规定类型
- 3、php获取文件mime类型的几种方法
- 4、PHP怎么获取文件类型????
- 5、php上传文件是,判断是否csv文件的文件类型怎么写?
- 6、php 文件上传怎样设置文件的类型为所有类型(jpg,doc,rar,等所有文件类型)
PHP读取文件前几个字节 判断文件类型函数
PHP读取文件前几个字节 判断文件类型函数
/**
* 读取文件前几个字节 判断文件类型
*
* @return String
*/
function checkTitle($filename) {
$file = fopen($filename, 'rb');
$bin = fread($file, 2); //只读2字节
fclose($file);
$strInfo = @unpack('c2chars', $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$fileType = '';
switch ($typeCode)
{
case 7790:
$fileType = 'exe';
break;
case 7784:
$fileType = 'midi';
break;
case 8297:
$fileType = 'rar';
break;
case 255216:
$fileType = 'jpg';
break;
case 7173:
$fileType = 'gif';
break;
case 6677:
$fileType = 'bmp';
break;
case 13780:
$fileType = 'png';
break;
default:
$fileType = 'unknown'.$typeCode;
}
//Fix
if ($strInfo['chars1']=='-1' $strInfo['chars2']=='-40' ) {
return 'jpg';
}
if ($strInfo['chars1']=='-119' $strInfo['chars2']=='80' ) {
return 'png';
}
return $fileType;
}
PHP判断文件名是否符合规定类型
?php
$ereg = '[^0-9a-zA-Z_]';
$value = '8aA_()';
if(@ereg($ereg, $value, $arr)){
echo '不允许出现的字符'.$arr[0];
} else {
echo '未匹配正确';
}
?
php获取文件mime类型的几种方法
php获取文件mime类型有以下几种方法:
1、mime_content_type()函数判断获取mime类型
mime_content_type返回指定文件的MIME类型,
用法:
echomime_content_type('php.gif') ."\n";
echomime_content_type('test.php');
输出:
image/gif
text/plain
但是php 5.3.0已经将该函数废弃。如果仍想使用此函数,那么可以对php进行配置启用magic_mime扩展。
2、php Fileinfo 获取文件MIME类型(finfo_open)
PHP官方推荐mime_content_type()的替代函数是Fileinfo函数。PHP
5.3.0+已经默认支持Fileinfo函数(fileinfo
support-enabled),不必进行任何配置即可使用finfo_open()判断获取文件MIME类型。
用法:
$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
3、image_type_to_mime_type()获取图片MIME类型
如果需要判断MIME类型的文件只有图像文件,那么首先可以使用exif_imagetype()函数获取图像类型常量,再用image_type_to_mime_type()函数将图像类型常量转换成图片文件的MIME类型。
注意:需要在php.ini中配置打开php_mbstring.dll(Windows需要)和extension=php_exif.dll。
4、php上传文件获取MIME类型
如果使用php上传文件,检测上传文件的MIME类型,则可以使用全局变量$_FILES['uploadfile']['type'],由客户端的浏览器检测获取文件MIME类型。
PHP怎么获取文件类型????
遍列你是会的吧,中间会得到文件的全名,你现在需要取出文件的扩展名,对吧?
例子代码:
?php
$f='/www/htdocs/index.html';
$path_parts = pathinfo($f);
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n"; //你需要的就是这个,对吧?
echo $path_parts['filename'], "\n";
?
判断是否文件夹,要使用函数is_file,返回false的就是文件夹,例如:
?php
var_dump(is_file('a_file.txt')) . "\n";
var_dump(is_file('/usr/bin/')) . "\n";
?
bool(true)
bool(false)
php上传文件是,判断是否csv文件的文件类型怎么写?
$_FILES接收到文件信息是个数组。
其中$_FILES['myFile']['name'] 客户端文件的原名称 ,
您用‘.’来分割$_FILES['myFile']['name']分成一个索引数组,这个数组的最后一个值就是文件的扩展名。
或者你从最后一个“.”位置截取$_FILES['myFile']['name'],截取到最后。得到的结果也是文件的扩展名;
$_FILES['myFile']['type']得到的是文件的 MIME类型,这个并不能很好的反映文件的扩展名,
例如:
MIME类型为“text/html”,这个类型对应.html .htm .stm三种文件扩展名
MIME类型为“text/plain”,对应的是.c .txt .h .bas四种文件扩展名
php 文件上传怎样设置文件的类型为所有类型(jpg,doc,rar,等所有文件类型)
一般PHP文件上传时应自行设置检查文件类型的,如果你不检查就能上传所有的文件类型了。