问一个关于PHP FILES函数的用法
if(is_uploaded_file($_FILES['shangchuan']['tmp_name']))这段代码是判断是否上传成功的。$FILES里为什么必须加['tmp_name']才算成功。按理说(input name为shangchuan)只$_FILES['shangchuan']就可以获得啊。。。['tmp_name']在这什么作用?
详细说一下。。。。谢谢
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']传入函数