php上传数据格式 php上传数据格式不对

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文件上传RAR的mime类型首先要建立一个文件夹和两个文件,具体如下:
File—————— 文件夹,用于存放上传的文件 。
choose.htm—————— htm文件,用于选择上传的文件 。
upload.php —————— php文件,用于处理上传的文件 。
第一步:建立 File 文件夹 。
第二步:建立 choose.htm 文件,代码如下:
____________________________________________________________________________________________________________
form action="upload.php" method="post" enctype="multipart/form-data"
input type="hidden" name="MAX_FLIE_SIZE" value="https://www.04ip.com/post/1000000" /
上传此文件:
input name="userfile" type="file" id="userfile" /
input type="submit" name="Submit" value="https://www.04ip.com/post/上传" /
/form
____________________________________________________________________________________________________________
第三步:建立 upload.php 文件,代码如下:
____________________________________________________________________________________________________________
?php
//上传文件错误判定
if($_FILES['userfile']['error']0)
{
echo '错误:';
switch($_FILES['userfile']['error'])
{
case 1: echo '文件尺寸超过允许的最大上传限度!'; break;
case 2: echo '文件尺寸超过允许的最大上传限度!'; break;
case 3: echo '只有部分文件被上传!'; break;
case 4: echo '没有任何文件被上传!'; break;
}
exit;
}
//上传文件格式判定
if($_FILES['userfile']['type'] !='text/plain')
{
echo '错误:非法文件格式!';
exit;
}
//设置文件保存路径
$upfile = './File/' . $_FILES['userfile']['name'];
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if(!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile))
{
echo '错误:没有将文件移动到指定目录!';
exit;
}
}
else
{
echo '错误:可能文件上传被攻击!文件名:';
echo $_FILES['userfile']['name'];
}
echo '文件上传成功!';
//格式化上传的文件
$fp = fopen($upfile,'r');
$contents = fread($fp,filesize($upfile));
fclose($fp);
$contents = strip_tags($contents);
$fp = fopen($upfile,'w');
fwrite($fp,$contents);
fclose($fp);
//显示上传文件内容
echo '上传文件的内容为:';
echo $contents;
?
____________________________________________________________________________________________________________
测试一下:
1、建立一个 123.txt 文件,里面输入一些纯文本字符,比如 abc,上传成功!
2、我们再来试看其他后缀名,如.exe,.php,.htm之类的,只要非txt , 就将导致失败!
【php上传数据格式 php上传数据格式不对】3、把任意一个大于1M的文件名改为123.txt并上传,我们将发现超过限制大小的文件将导致上传失败!
4、将123.txt的内容改掉,删除所有内容,输入 htmlHTML code/html , 保存并上传,我们会发现上传失败!

推荐阅读