php如何实现文件上传

PHP 一般用 POST 方法上传文件,下面是一个简单的文件上传示例,里面有相关的注释:

up.htm 文件:

File:

up.php 文件

if (is_uploaded_file($_FILES[“upfile”][“tmp_name”])){

 

如果有文件上传

is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的,返回布尔值

$_FILES[‘upfilename’][‘…’],其中的 ‘upfilename’ 即为上传框的 name 属性

$_FILES[‘upfile’][‘tmp_name’] — 文件被上传后在服务端储存的临时文件名,一般是系统默认

if(!eregi(‘pdf’, $_FILES[‘upfile’][‘type’])){

 

//我们这里假设你要上传一个 pdf 文件

//if(!eregi(‘pdf’, $_FILES[‘upfile’] [‘type’])) 这个是判断上传文件类型的,是不是 pdf 文件,当然,若是想判断是否是 jpg 文件的话,将 pdf 改成 jpg 就可以 了,即 if(!eregi(‘jpg’, $_FILES[‘upfile’][‘type’]))

//$_FILES[‘upfile’][‘type’] 是文件的 MIME 类型,如果浏览器提供此信息的话。例如“image/gif”

echo ‘The uploaded file is not an pdf File! Please upload a right file!’;

}else{

$filename = $_FILES[‘upfile’][‘name’];

//$filename = $_FILES[‘upfile’][‘name’],这里是指定上传后的文件名,这里使用的仍是原来的文件名字,($_FILES[‘upfile’][‘name’] 是原始文件的名字)

if(move_uploaded_file($_FILES[“upfile”][“tmp_name”], dirname(__FILE__).”/upload_file/”.$filename)){

 

//这里就是上传文件

//dirname(__FILE__).”/upload_file/”.$file_name — 指定上传的目标文件,假设你要上传的目标文件夹upload_file 是和当前文件(upload.php)在同一文件夹下

//chmod(dirname(__FILE__).”/upload_file/”. $file_name, 0444);

//上面注释掉的是用来改变上传后文件的属性,444 即只有执行和读的权限(看情况加上)

echo $_FILES[“upfile”][“name”] . ” uploaded succeed!!!”;

 

}else{

echo “Can’t upload!!!”;

}

}

}else{

echo “File is not selected”;

}

//需要注意的:

/*

在你的 up.php 同级目录下建立 upload_file 文件夹,来存放上传的文件

在上传之前要看一下 php 的配置文件:php.ini 中的三处设置

1.是否允许文件上传:( file_uploads = On )

2.文件上传的最大 size:( upload_max_filesize )

3.post 的最大 size ( post_max_size ) 这个大小设置成和 uplod_max_filesize 一样大或比 uplod_max_filesize 大

*/

/*

这 只是很简单的一个文件上传的例子,为了帮助理解,只是判断了一下上传文件的类型,还可以使用 if 语句来判断上传文件的大小 ($_FILES[‘upfile’][‘type’])),并进行提示控制等,相关可以查阅 $_FILE[‘upfile’] 数组的各个值分别代表 什么

*/

?>

以上纯属个人简介,大家多给意见,谢谢各位

u=1280046540,2425613996&fm=21&gp=0

« »

发表评论