您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

php $_FILES有什么用?

2024/4/28 3:01:24发布8次查看
php $_files主要用于处理文件上传,其作用是存储各种与上传文件有关的信息,而这些信息对于通过php脚本上传到服务器的文件至关重要。
php $_files处理文件上传
众所周知,文件上传在一些网站应用中是必不可少的一部分。比如个人博客上传个性头像,一些论坛分享好的学习资料等,这就涉及到使用表单处理文件上传的知识,在php中 我们可以使用$_files这个全局数组来处理。
下面就看看基本的文件上传处理部分。首先要说明的,能够上传文件必定是一个安全隐患,所以在开发这部分功 能时,一定要注意网站的安全性。
而本文所探讨的只是基本的文件上传部分,关于安全性这方面考虑的较少,希望在日后的高级应用中可以学习的到。
在php预定义变量这一节我们对一些预定义变量进行了一些大概的学习,其中就有$_files这个全局变量,那么现在再来详细的了解关于这个全局量的知识,因为我在处理文件上传时,要使用到它的相关功能。
$_files参数详解:
$_files[file][name] – 被上传文件的名称
$_files[file][type] – 被上传文件的类型
$_files[file][size] – 被上传文件的大小,以字节计
$_files[file][tmp_name] – 存储在服务器的文件的临时副本的名称
$_files[file][error] – 由文件上传导致的错误代码
$_files[file][error]中的[error]值情况:
upload_err_ok
0:没有错误发生,文件上传成功
upload_err_ini_size
1:上传的文件超过了 php.ini中upload_max_filesize(默认情况为2m) 选项限制的值
upload_err_form_size
2:上传文件的大小超过了 html表单中max_file_size选项指定的值
upload_err_partial
3:文件只有部分被上传
upload_err_no_file
4:没有文件被上传
5:传文件大小为0
下面我们就来看看最基本的文件上传:
<html><body><form action=”upload-file.php” method=”post”enctype=”multipart/form-data”><label for=”file”>文件名:</label><input type=”file” name=”file” id=”file” /><br /><input type=”submit” name=”submit” value=”提交” /></form></body></html>
upload-file.php代码如下:
<?phpif ($_files["file"]["error"] > 0) { echo “错误: ” . $_files["file"]["error"] . “<br />”; }else { echo “文件名: ” . $_files["file"]["name"] . “<br />”; echo “类型: ” . $_files["file"]["type"] . “<br />”; echo “大小: ” . ($_files["file"]["size"] / 1024) . ” kb<br />”; echo “存储位置: ” . $_files["file"]["tmp_name"]; }?>
我们随便上传一个word文件,看看处理结果如何:
文件名: css.doc类型: application/msword大小: 81.5 kb存储位置: c:\windows\temp\php7d.tmp
可以看到,这个文件被保存到c:\windows\temp\临时目录下,你可能想去看看在这个目录是否存在这个文件,但结果是:没有!为什么呢? 因为php在执行完这个脚本后,把它生成的文件又删除了,所以在上传之后还要进一步处理。另外还随便提一下,在windows下,php所生成的临时文件 如php7d.tmp是有规律的,也就是说在下一次通过表单上传的文件应该像这样:php7e.tmp
为了保存我们上传的文件,要使用move_uploaded_file函数。在你的upload-file.php文件同目录创建一个upload文件夹。下面再来看看上面那个示例:
<?phpif ($_files["file"]["error"] > 0) { echo “错误: ” . $_files["file"]["error"] . “<br />”; }else { echo “文件名: ” . $_files["file"]["name"] . “<br />”; echo “类型: ” . $_files["file"]["type"] . “<br />”; echo “大小: ” . ($_files["file"]["size"] / 1024) . ” kb<br />”; } if (file_exists(”upload/” . $_files["file"]["name"])) { echo $_files["file"]["name"] . ” 文件已经存在. “; }else { move_uploaded_file($_files["file"]["tmp_name"], “upload/” . $_files["file"]["name"]); echo “文件已经被存储到: ” . “upload/” . $_files["file"]["name"]; } ?>
再来看看结果:
文件名: css.doc类型: application/msword大小: 81.5 kb文件已经被存储到: upload/css.doc
经过这一步的处理,在我们所指定的地方(upload)就可以得到我们上传的文件。到这里,最基本的文件上传就结束了。
更多相关知识,请访问 !!
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录