background image

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']),这种方法使用起来很方便、灵活,这样一个文件就被上传到服务器中了,可以
打开服务器中的目录查看该文件。