Blogger Information
Blog 87
fans 0
comment 0
visits 59241
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第七章:文件上传的原理与实现
黄忠倚的博客
Original
1022 people have browsed it

实例

<!-- 
1.文件上传的请求类型必须是POST
2.允许的数据类型必须是:multipart/form-data
 -->
<!--  如果想在当前的页面处理上传的话,action可能会有一种写法:
 a.最懒的方式:空,默认为当前脚本
 b.最死的方法:当前脚本名
 c.最酷的方法: -->

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="post" enctype="multipart/form-data">
	
	<input type="hidden" name="MAX_FILE_SIZE" value="542488">
	<fieldset>
	<legend align="center">文件上传</legend>
	<p><strong>选择文件:<input type="file" name="upload"></strong></p>
	</fieldset>
	<p align="center"><button type="submit" name="submit">上传</button></p>
	
</form>

<!-- <?php 
//echo '<pre>';
//pint_r($FILES['upload']['tmp_name']);
//?> -->

<!-- 
//$_FILES:它是一个二维数组
//$_FILES:['当前上传文件的控件名称,input[name="upload"]']

//$_FILES:['upload']['name']:文件原始名称
//$_FILES:['upload']['type']:文件类型
//$_FILES:['uplode']['size']:文件大小
//$_FILES:['upload']['tmp_name']:服务器上的临时文件件 -->

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {  //注意此处的#_SERVER
	//1.检测是否有文件被上传
	if (isset($_FILES['upload'])) {
		//2.设置一下允许上传的类型
		$allow = ['image/jpg','image/jpeg','image/png'];  //判断用户文件上传到指定的临时目录:move_
		if (in_array($_FILES['upload']['type'],$allow)) {
			//将用户文件上传到指定的临时目录:move_uploaded_file()
			if (move_uploaded_file($_FILES['upload']['tmp_name'], "upload/{$_FILES['upload']['name']}")) {
			//上传成功
			echo '<script>alert(\'上传成功\')</script>';
			}  //注意此处的是否有完成的括号
		} else {
			echo '<script>alert(\'仅允许上传jpg或png格式的图片\')</script>';
				}  //注意此处的是否有完成的括号
		}


			//如果上传失败
			if ($_FILES['upload']['error'] > 0) {
				echo '<p>错误的原因是:<strong>';

				switch ($_FILES['upload']['error']) {
					case 1:
					echo '文件超过了php.ini中的大小';
					break;

					case 2:
					echo '文件超过表单中的设置大小';
					break;

					case 3:
					echo '文件只有一部分上传了';
					break;

					case 4:
					echo '没有文件被上传';
					break;

					case 6:
					echo '临时文件夹没有';
					break;

					case 8:
					echo '上传意外终止';
					break;
				}
				

			}
	}
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post