关于远程上传文件的奇怪问题~~~~给分100先 很少人用那个函数,又要扩展模块,检查文件的类型,用FILETYPE()就行了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 filetype函数并不能返回该文件的文件类型,$_FIlE全局变量中的"type"才是我想要的结果~~我也发现了这个函数估计很少的人用~~不然google上不会信息那么少~~还有就是这个问题很奇怪~~一条语句本身没有问题,但是放到include里面或者函数里面执行就有问题了~~难道是bug???? 没遇到过这个warning在php.ini中加上:mime_magic.magicfile = "$PHP_INSTALL_DIR\magic.mime"不过如果不加上面应该是undefine function 错误 hucool(鱼淼):$file_tyep???不懂亚·~能不能说清楚点亚·~多谢~lawyu(雨淋漓) :这个我加了~~测试中的第一个测试是成功的~~证明这个函数可以正常工作。 但问题就是,TNND一旦讲这个函数放到被引用的页面或者函数里面,就不能正常执行了~说什么无效的模式,然后就是一串错误代码·~TYYD,也不给个说明~我看了看php手册~~好像要取得远程文件的文件类型只有用这函数~~郁闷亚~~~难道只能先把远程文件上传到本地的临时文件夹然后再判断~??? 没见过,不过肯定是mime_content_type有问题,干吗不用$file_type,一样的结果啊 uuq(杜牧) : 对于图片文件来说,用getimagesize肯定是个好方法~然后可以用image_type_to_mime_type函数来返回类型。可惜我需要检查的文件不仅仅只包括图片文件…………xiaopar(心晴): 你和hucool(鱼淼)说的一样,可是我不知道$file_type怎么用啊,是全局变量?没有啊~谢谢你说清楚一点亚~~~ 3Q该死的mime_content_type函数~~劝大家都不要用了~~呵呵 不就是检查上传文件的类型吗?你也知道“$_FIlE全局变量中的"type"才是我想要的结果”那么为何不用,反而要用mime_content_type呢? 我的本意是:如果用户想上传一个远程的文件,那么我希望能够在将这个文件copy到本地来之前就检查它的文件类型。比如虽然它的后缀名是.gif但实际上是个exe文件,那么就拒绝上传。 这样我才想到要用mime_content_type来检查远程文件的类型的,其实这个函数本身用起来没有任何问题~~奇怪就奇怪在不能include也不能放到函数里面执行~~ 现在我暂时用的办法是不管是什么文件,先copy到本地的临时目录,然后再检查文件类型。但我总觉得这不是最好的办法~~~~~~ 我的本意是:如果用户想上传一个远程的文件,那么我希望能够在将这个文件copy到本地来之前就检查它的文件类型。你用这个能实现这个么?如果达到你的要求,那么必须在表单提交前,也就只能用js了。 是呀“如果达到你的要求,那么必须在表单提交前,也就只能用js了”何况“远程文件”能被上传吗?mime_content_type需要设置php.ini,我不大愿意仅仅为了测试而做此工作 呵呵~~是不是大家对我所说的“远程文件上传”的意思有误会啊?我的意思是copy("http://community.csdn.net/images/CSDN_logo.GIF","./aaa.gif")这个应该叫“远程文件上传”吧。也就是把远程的一个文件上传到服务器上·~呵呵~这样清楚了吧?我是想做一个在线编辑器,里面要用到这个功能。希望能在执行copy语句以前检查一下准备上传的文件的类型~~而$_FILES只能检查用表单上传的文件的类型。还有就是mime_content_type可以检查远程文件的类型~~这个在我的第一个测试中是执行正常的。现在的问题是mime_content_type不能被include,也不能被放到函数里面去执行~~对这个我有些不了解~~另外,我一直最最崇拜的xuzuning(唠叨)老兄: 要使用这个函数只需要在php.ini里面加上一句话 mime_magic.magicfile = "$PHP_INSTALL_DIR\magic.mime" 当然还需要加载 extension=php_mime_magic.dll 不会太麻烦~ 如果你能够帮我测试一下就知道我说的是什么意思了~~呵呵~~~ mime_magic是个很不错的东西 我一直把它用在程序里你说的远程上传 我也有过实现 使用的方法也是先把文件复制过来再判断判断远程文件实际上都是这样 现在我也是这样做的~~先将远程文件copy到本地临时目录~然后再判断~~总觉得这样不是最好的方法~既然mime_content_type可以检查远程文件的类型干吗非要多此一举咧?再就是对mime_content_type这个函数不能include也不能放到function里面执行的这个问题感到不解~~我不认为是bug,但是,总有个说法吧~~ 自己顶一下·希望有人能给解答~~最不济也要让大家以后别用mime_content_type这个函数~ 加载了php_mime_magic,可是遗憾的很:mime_content_type函数的返回值太令人失望了,好多类型都不能识别嘛不过,并不会出现楼主所说的现象。无论是单独执行、放在嵌入文件里还是放在函数里都不会有什么问题 mime_content_type返回的类型和$_FILES的type属性差不多啊~~呵呵~令失望了么?非常感谢唠叨兄的测试~loveconan(放牛娃娃) 说得对,看来这个问题确实也是个“多此一举的问题”,不想理了~~呵呵结贴放分哦~~~~~~~~~~ 这个文本为什么替换不了?只执行循环的第一次。。。谁帮看下问题在哪! 跪求php功能代码 php连接mysql,目标计算机积极拒绝 南京的phper,来晒晒你们的工资 求一正则! 今天看到个网,想请教这些功能是如何实现的!非常感谢! 搞不好了,乱码问题 请问怎么拷贝整个目录到指定的目录下呢?目录里有文件。也要一起拷贝。 关于插入数据问题 php建立socket出现broken pipe 我想用数据库做一个购物车,有谁说说原理吗?在线等,急~~~~~ 请教在上海的朋友们
我也发现了这个函数估计很少的人用~~不然google上不会信息那么少~~
还有就是这个问题很奇怪~~一条语句本身没有问题,但是放到include里面或者函数里面执行就有问题了~~难道是bug????
在php.ini中加上:
mime_magic.magicfile = "$PHP_INSTALL_DIR\magic.mime"
不过如果不加上面应该是undefine function 错误
hucool(鱼淼):$file_tyep???不懂亚·~能不能说清楚点亚·~多谢~lawyu(雨淋漓) :这个我加了~~测试中的第一个测试是成功的~~证明这个函数可以正常工作。
但问题就是,TNND一旦讲这个函数放到被引用的页面或者函数里面,就不能正常执行了~说什么无效的模式,然后就是一串错误代码·~TYYD,也不给个说明~
我看了看php手册~~好像要取得远程文件的文件类型只有用这函数~~郁闷亚~~~难道只能先把远程文件上传到本地的临时文件夹然后再判断~???
对于图片文件来说,用getimagesize肯定是个好方法~然后可以用image_type_to_mime_type函数来返回类型。可惜我需要检查的文件不仅仅只包括图片文件…………xiaopar(心晴):
你和hucool(鱼淼)说的一样,可是我不知道$file_type怎么用啊,是全局变量?没有啊~谢谢你说清楚一点亚~~~ 3Q该死的mime_content_type函数~~劝大家都不要用了~~呵呵
那么为何不用,反而要用mime_content_type呢?
我的本意是:如果用户想上传一个远程的文件,那么我希望能够在将这个文件copy到本地来之前就检查它的文件类型。比如虽然它的后缀名是.gif但实际上是个exe文件,那么就拒绝上传。 这样我才想到要用mime_content_type来检查远程文件的类型的,其实这个函数本身用起来没有任何问题~~奇怪就奇怪在不能include也不能放到函数里面执行~~ 现在我暂时用的办法是不管是什么文件,先copy到本地的临时目录,然后再检查文件类型。但我总觉得这不是最好的办法~~~~~~
何况“远程文件”能被上传吗?mime_content_type需要设置php.ini,我不大愿意仅仅为了测试而做此工作
我的意思是copy("http://community.csdn.net/images/CSDN_logo.GIF","./aaa.gif")这个应该叫“远程文件上传”吧。也就是把远程的一个文件上传到服务器上·~呵呵~这样清楚了吧?我是想做一个在线编辑器,里面要用到这个功能。希望能在执行copy语句以前检查一下准备上传的文件的类型~~而$_FILES只能检查用表单上传的文件的类型。
还有就是mime_content_type可以检查远程文件的类型~~这个在我的第一个测试中是执行正常的。现在的问题是mime_content_type不能被include,也不能被放到函数里面去执行~~对这个我有些不了解~~
另外,我一直最最崇拜的xuzuning(唠叨)老兄:
要使用这个函数只需要在php.ini里面加上一句话
mime_magic.magicfile = "$PHP_INSTALL_DIR\magic.mime"
当然还需要加载
extension=php_mime_magic.dll 不会太麻烦~
如果你能够帮我测试一下就知道我说的是什么意思了~~呵呵~~~
你说的远程上传 我也有过实现 使用的方法也是先把文件复制过来再判断
判断远程文件实际上都是这样
结贴放分哦~~~~~~~~~~