当前位置:编程学习 > php >>

问一个关于PHP FILES函数的用法

if(is_uploaded_file($_FILES['shangchuan']['tmp_name']))

这段代码是判断是否上传成功的。$FILES里为什么必须加['tmp_name']才算成功。按理说(input name为shangchuan)只$_FILES['shangchuan']就可以获得啊。。。['tmp_name']在这什么作用?

详细说一下。。。。谢谢

答案:$_FILES  是一个多维关键字数组, 里面的数据是由文件上传的时候, 服务器提供的

 

而  is_uploaded_file  是需要提供文件路径, 而 FILE 里  shuangchuan  这个维的数据并不只有 文件路径,  还有这个上传文件的其他数据,  所以还必须加个tmp_name  才能取得文件路径 

看  is_uploaded_file( string $filename)  函数的原型。 参数表是要求提供一个 字符串类型,并是文件所在路径。  而$_FILES['changchuan'] 是一个数组类型,不信可以 var_dump()出来看看。 tmp_name 是 $_FILES['changchuan']数组的一个键, 储存上传文件在系统临时储存区域的路径。 因此要把$_FILES['changchuan']['tmp_name']传入函数

上一个:PHP中fsockopen函数遭到攻击怎么办?
下一个:请教一下php 中fopen函数的用法

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,