⑴ php 验证上传的文件类型为图片,并获得文件的后缀名
以下是我上传了一个图片后显示的 $_FILES['filename']的信息
[filename] => Array
(
[name] => Winter.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php2jw7QX
[error] => 0
[size] => 105542
)
其中type是文件类型的minitype 表示方法,例如普通的HTML的类型是text/html
如果你想用扩展名的方式判断的话可以用以下代码:
<?php
#允许的文件扩展名
$allowed_types = array('jpg', 'gif', 'png');
$filename = $_FILES['filename']['name'];
#正则表达式匹配出上传文件的扩展名
preg_match('|\.(\w+)$|', $filename, $ext);
#print_r($ext);
#转化成小写
$ext = strtolower($ext[1]);
#判断是否在被允许的扩展名里
if(!in_array($ext, $allowed_types)){
die('不被允许的文件类型');
}
?>
⑵ php获取文件mime类型的几种方法
MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
php获取文件mime类型有以下几种方法:
1、mime_content_type()函数判断获取mime类型
mime_content_type返回指定文件的MIME类型,
用法:echomime_content_type('php.gif') .
"
";echomime_content_type('test.php');输出:image/giftext/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类型
注意:需要在php.ini中配置打开php_mbstring.dll(Windows需要)和extension=php_exif.dll。
4、php上传文件获取MIME类型瞎搭罩
如果使用php上传磨闹文件,检测上传文件的MIME类型,则可以使用全局变量$_FILES['uploadfile']['type'],由客户端的浏览器检测获取文件MIME类型。
⑶ php的图片上传程序 判断文件类型 并获取上传以后文件的路径 我在网上找的程序是可以提取文件的 求达人修改
你找到这一句,改一下:
改动前:$name1=$name.".file";
改动后:$name1=$name;
如果弊燃不行,你再补充问题,希望能对你有帮贺卜腔助
回报就不用了禅衫
⑷ php中关于判断上传文件格式
$kuozhan=array('jpg','gif','doc');
$flag = 1; // 判断上传文件是否格式正确,正确则为1 , 有一个格式错误则0
// 循环,检测格式是否错误
foreach($val['tmp_name'] as $key=>$us){
foreach($val['name'] as $key=>$ns){
$arr=pathinfo($val['name'][$key]);
if(!in_array($arr['extension'],$kuozhan)){
echo " 上传失败,格式错误!";
$flag = 0; // 格式有错,flag为0
break;
}
}
}
// 上传文件
if ($flag == 1) {
循环上传文件
}
⑸ php命令行工具检测php文件语法格式是否正确的方法是
使用PHP命令行,如果你是Windows下,需要先设置环境变量
1.右键我的电脑->属性->高级设置
2.点高级->环境变量
⑹ PHP怎么获取文件类型
<?php
$file="php.txt";
//打开文件,r表示以只读方式打开
$handle=fopen($file,"r");
//获取文件的统计信息
$fstat=fstat($handle);
echo"文件名:".basename($file)."<br>";
//echo"文件大小:".round(filesize("$file")/1024,2)."kb<br>";
echo"文件大小:".round($fstat["size"]/1024,2)."kb<br>";
//echo"最后访问时间:".date("Y-m-dh:i:s",fileatime($file))."<br>";
echo"最后访问时间:".date("Y-m-dh:i:s",$fstat["atime"])."<br>";
//echo"最后修改时间:".date("Y-m-dh:i:s",filemtime($file))."<br>";
echo"最后修改时间:".date("Y-m-dh:i:s",$fstat["mtime"]);
?>
⑺ php中怎么判断格式的文件类型
/**
*获取文件类型
*@paramstring$filename文件名称
*@returnstring文件类型
*/
functiongetFileType($filename){
returnsubstr($filename,strrpos($filename,'.')+1);
}
/**
*获取文件类型2
*@paramstring$filename文件名称
*@returnstring文件类型
*/
functiongetFileType2($filename){
returnstrtolower(pathinfo($filename)['extension']);
}
/**
*获取文件类型3
*@paramstring$filename文件名称
*@returnstring文件类型
*/
functiongetFileType3($filename){
return$exten[count($exten=explode('.',$filename))-1];
}
/**
*获取文件类型4
*@paramstring$filename文件名称
*@returnstring文件类型
*/
functiongetFileType4($filename){
$exten=explode('.',$filename);
returnend($exten);
}
⑻ PHP二进制判断文件类型
一般我们都是按照文件扩展名来判断文件类型 但是这个很不靠谱饥唤悄 轻易就通过修改扩展名来躲避了 一般必须要读取文烂渣件信息来识别
<链旁?php
$files = array( /test jpg test png )
$fileTypes = array(
=> exe
=> midi
=> zip
=> rar
=> jpg
=> gif
=> bmp
=> png
)
foreach($files as $file) {
$fp = fopen($file rb )
$bin = fread($fp ) // 只读头两个字节
fclose($fp)
$strInfo = @unpack( C chars $bin)
$typeCode = intval($strInfo[ chars ] $strInfo[ chars ])
$fileType = isset($fileTypes[$typeCode]) ? $fileTypes[$typeCode] : unknown ;
echo $file type : <b> $fileType </b> code : <b> $fileType </b><br /> ;
lishixin/Article/program/PHP/201311/20841
⑼ php 如何判断上传的文件类型
用雹橘javaSCRIPT判凯肆袭断文件后缀,给form加上onsubmit="return chk()"
<script language="javascript">
function chk () {
Ary = form1.userfile.value.split('.');
filetype=Ary[Ary.length-1];
if (filetype=='txt')
{
alert ('盯兄Error');
return false;
}
}
</script>