在
php 开发过程中,文件上传也经常用到,这里简单介绍下,需要的朋友可以参考下
代码如下
:
<?php
if
(
$_FILES
['myfile']['name'] != '') {
if
(
$_FILES
['myfile']['error'] > 0) {
echo
"错误状态:" .
$_FILES
['myfile']['error'];
}
else
{
move_uploaded_file(
$_FILES
['myfile']['tmp_name'] , "uploads/" .
$FILES
['myfile']['name']);
echo
"<script>alert(上传成功!);</script>";
}
}
else
{
echo
"<script>alert(请上传文件!);</script>";
}
?>
说明:
在解释这篇代码前,我们有必要了解以下知识。
$_FILES
['myfile']['name'] 是指被上传文件的名称
$_FILES
['myfile']['type'] 是指被上传文件的类型
$_FILES
['myfile']['size'] 是指被上传文件的大小,单位为字节(B)
$_FILES
['myfile']['tmp_name'] 是指被上传文件存在服务器中的临时副本文件名称,文件被
移动到指定目录后临文件将被自动消毁。
$_FILES
['myfile']["error"] 是指由文件上传中有可能出现的错误的状态码,关于各状态含义
后在会说明。
了解了这些,我们再来看一下
upload.php 的代码。
首先,
$_FILES
['myfile']['name']中的 myfile 是指在上面 HTML 页面中上传文件标签的 name
值,根据这个我们才能知道我们正在处理的文件是哪一个
input 提交过来的。
然后再来判断一下
$_FILES
['myfile']['name'] 不是否为空,根据这个我们可以知道用户有没
有上传文件,从而执行不同的操作。
如果上传了文件并且状态是
0 就说明上传成功,我们就可以用 move_uploaded_file 方法把
上传的文件存放到指定目录,上面这个例子是指把上传的文件移动到同目录下的
uploads 文
件夹下,这个路径是相对于这个
PHP 文件(既 upload.php)的相对目录。
比如,我们想把上传的文件移动到
upload.php 上一层叫 user 的文件夹中的话,我们就可以
这样写:
move_uploaded_file(
$_FILES
['myfile']['tmp_name'] , "./user/".
$FILES
['myfile']
['name']),这种方法使用起来很方便、灵活,这样一个文件就被上传到服务器中了,可以
打开服务器中的目录查看该文件。