PHP 判断上传文件类型的问题 本帖最后由 UniverseOS 于 2013-03-09 13:39:28 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先打印出checkTitle方法的返回值是什么。checkTitle方法里面怎么还有个$filename=($_FILES['file']['tmp_name']); 1、function checkTitle($filename) //判断文件类型{ $filename=($_FILES['file']['tmp_name']);应写作function checkTitle($filename) //判断文件类型{ $filename = $filename['tmp_name']);2、if(!in_array(checkTitle($_FILES['file']['tmp_name']),$type)) //判断上传文件类型{应写作if(!in_array(checkTitle($_FILES['file']),$type)) //判断上传文件类型{因为你不能假定表单控件都只命名为 file,如果是别的名字呢? 我的表单里面上传文件就叫“file”: <input type="file" name="file" id="file"> 如果我写$filename=($_FILES['file']['name']);会报错,只好把name改成tmp_name 自己把问题解决了:1.因为这时还没有移动临时文件,所以只能用tmp_name,如果用name当然无法得出结果(tmp_name的文件在服务器,而name的文件在客户端);2.判断不出来的原因是因为array()里面的值都有“.”,删除掉就可以了:$type=array('txt','rtf','doc','docx','xls','xlsx','ppt','.pptx','jpg','jpeg','png','bmp','png','zip','rar','7z','tar','gz','tar.gz');(因为我开始使用的是按扩展名判断的方法,所以都有“.”)现在文件上传的代码完全正常了,另外我在网上看到另一个代码,取文件头前4位,然后转换成16进制。 php数组问题 safeVar() 是什么意思啊? Apache添加虚拟目录后如何不重启使其生效 大家看看 这样匹配网卡格式的正则有问题么 MySQL数据库中有uniqueidentifier数据类型吗? PHP连MYSQL数据库连接不上去,插入数据没有反映 求助!!急! PHP怎么样Java结合 Writing client-side GUI applications 网站里面文件夹或者文件如何用php程序批量锁定防删除防修改 php做服务器,接受客户端上传的文件,服务器是怎么接收的 thinkphp用import引入的文件,没有办法读取
checkTitle方法里面怎么还有个$filename=($_FILES['file']['tmp_name']);
function checkTitle($filename) //判断文件类型
{
$filename=($_FILES['file']['tmp_name']);
应写作function checkTitle($filename) //判断文件类型
{
$filename = $filename['tmp_name']);2、
if(!in_array(checkTitle($_FILES['file']['tmp_name']),$type)) //判断上传文件类型
{
应写作
if(!in_array(checkTitle($_FILES['file']),$type)) //判断上传文件类型
{因为你不能假定表单控件都只命名为 file,如果是别的名字呢?
1.因为这时还没有移动临时文件,所以只能用tmp_name,如果用name当然无法得出结果(tmp_name的文件在服务器,而name的文件在客户端);
2.判断不出来的原因是因为array()里面的值都有“.”,删除掉就可以了:
$type=array('txt','rtf','doc','docx','xls','xlsx','ppt','.pptx','jpg','jpeg','png','bmp','png','zip','rar','7z','tar','gz','tar.gz');
(因为我开始使用的是按扩展名判断的方法,所以都有“.”)
现在文件上传的代码完全正常了,另外我在网上看到另一个代码,取文件头前4位,然后转换成16进制。