php上传文件

1、首先,建立一个html的表单页面(名字自定义)

<!-- <form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,
	比如文件内容,请使用 "multipart/form-data"。
	<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,
	会看到输入框旁边有一个浏览按钮。
	
	注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。
 -->
 
	<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>


2、然后在同一个目录下面建立一个upload的文件夹

3、建立upload_file.php 文件

<?php

	$type=array('.txt','.rtf','.doc','.docx','.xls','.xlsx','.ppt','.pptx','.jpg','.jpeg','.png','.bmp','.png','.zip','.rar','.7z','.tar','.gz','.tar.gz');
	
	if ((($_FILES["file"]["type"] == "image/gif")	//文件类型
	|| ($_FILES["file"]["type"] == "image/jpeg")	
	|| ($_FILES["file"]["type"] == "application/x-zip-compressed")
	|| ($_FILES["file"]["type"] == "image/pjpeg"))     //存储在服务器的文件的临时副本的名称
	//||
	&& ($_FILES["file"]["size"] < 200000))
	  {
	  if ($_FILES["file"]["error"] > 0)
	    {
	    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
	    }
	  else
	    {
	    echo "文件名: " . $_FILES["file"]["name"] . "<br />";
	    echo "类型: " . $_FILES["file"]["type"] . "<br />";
	    echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
	    echo "Temp file临时文件: " . $_FILES["file"]["tmp_name"] . "<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 "Stored in: " . "upload/" . $_FILES["file"]["name"];
	      }
	    }
	  }
	else
	  {
	  echo "无效文件";
	  }
?>

这里只是可以上传图片和zip格式的文件。。。


注释:可以根据下面的提示自己完善代码,补全各种文件类型的代码!


php上传图片文件(gif,jpg,bmp,png,psd,ico)
php上传压缩文件(rar,7z,zip)
php上传可执行文件(exe)
php上传视频文件,音乐文件,歌词文件(avi,rmvb,3gp,flv,mp3,wav,krc,lrc)
php上传文本文件和文档文件(word->doc,excel->xls,幻灯片->ppt,pdf,chm)
php上传数据库文件(access文件,sql文件,con文件,日志文件log, dat文件)
php上传网页文件,脚本文件,字体文件(ini,php,html,htm,字体文件:ttf,fon, js ,xml)
php上传其他文件(class类文件,dll动态加载库文件)



            IE下
id后缀名php识别出的文件类型
0gifimage/gif
1jpgimage/jpeg
2pngimage/png
3bmpimage/bmp
4psdapplication/octet-stream
5icoimage/x-icon
6rarapplication/octet-stream
7zipapplication/zip
87zapplication/octet-stream
9exeapplication/octet-stream
10avivideo/avi
11rmvbapplication/vnd.rn-realmedia-vbr
123gpapplication/octet-stream
13flvapplication/octet-stream
14mp3audio/mpeg
15wavaudio/wav
16krcapplication/octet-stream
17lrcapplication/octet-stream
18txttext/plain
19docapplication/msword
20xlsapplication/vnd.ms-excel
21pptapplication/vnd.ms-powerpoint
22pdfapplication/pdf
23chmapplication/octet-stream
24mdbapplication/msaccess
25sqlapplication/octet-stream
26conapplication/octet-stream
27logtext/plain
28datapplication/octet-stream
29iniapplication/octet-stream
30phpapplication/octet-stream
31htmltext/html
32htmtext/html
33ttfapplication/octet-stream
34fonapplication/octet-stream
35jsapplication/x-javascript
36xmltext/xml
37dllapplication/octet-stream
38dllapplication/octet-stream


Firefox下   
id后缀名php识别出的文件类型
0gifimage/gif
1jpgimage/pjpeg
2pngimage/x-png
3bmpimage/bmp
4psdapplication/octet-stream
5icoimage/x-icon
6rarapplication/octet-stream
7zipapplication/x-zip-compressed
87zapplication/octet-stream
9exeapplication/octet-stream
10avivideo/avi
11rmvbapplication/vnd.rn-realmedia-vbr
123gpapplication/octet-stream
13flvapplication/octet-stream
14mp3audio/mpeg
15wavaudio/wav
16krcapplication/octet-stream
17lrcapplication/octet-stream
18txttext/plain
19docapplication/msword
20xlsapplication/vnd.ms-excel
21pptapplication/vnd.ms-powerpoint
22pdfapplication/pdf
23chmapplication/octet-stream
24mdbapplication/msaccess
25sqltext/plain
26conapplication/octet-stream
27logtext/plain
28dattext/plain
29iniapplication/octet-stream
30phpapplication/octet-stream
31htmltext/html
32htmtext/html
33ttfapplication/octet-stream
34fonapplication/octet-stream
35jstext/html
36xmltext/xml
37dllapplication/octet-stream
38classapplication/java

当然要根据自己浏览器的类型选择不同的方式,不同的浏览器内核有不同(基本是IE和火狐两种),后续还会有详细内容。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值