热门关键字:
jquery > jquery教程 > PHP知识 > PHP上传文件代码及其$_FILES数组内容

PHP上传文件代码及其$_FILES数组内容

3030
作者:管理员
发布时间:2012/12/30 20:04:28
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=207

此文章由网友【上海-Yolanda】提供
文件上传功能是每个网站必不可少的模块之一,PHP上传文件代码及其$_FILES数组内容这篇文章是网友上海-Yolanda整理出来的,第一时间与大家分享,里面每个功能的注释写得非常详细,网友们有兴趣的可以看一下哦。

 

HTML代码如下:

<form action="up.php" method="post" enctype="multipart/form-data">
<!--备注:表单中 enctype="multipart/form-data " 的意思,是设置表单的 MIME 编码。默
认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用
了 multipart/form-data ,才能完整的传递文件数据,进行下面的操作,并且 method 要设置为 "post"-->
File:<br />
<input type="file" name="upfile" size="30">  <!--上传框要设置 type="file"--><br />
    <input type="submit" value="Upload">
</form>

 

PHP代码如下:

<?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'])),其中相对应的jpg。。。格式在不同浏览器中是不同,可以参考下表中在ie和火狐中的类别,例如doc文件是将pdf改成msword
		//$_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'] 数组的各个值分别代表什么
*/
?>

 

 





如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:PHP上传文件 $_FILES数组 PHP学习资料 PHP代码 PHP实用功能
友荐云推荐