博主信息
博文 46
粉丝 1
评论 1
访问量 37531
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
文件上传的完整实现过程-2018年4月19日
笨鸟先飞
原创
795人浏览过

代码:

实例

<!-- 1.文件上传的请求类型必须是post
2.允许的数据类型必须是:multipart/form-data

如果想在当前页面处理上传的话,action可能会有三种写法:
1.最懒的方式就是:空  ,默认当前脚本
2.最死的方式:当前脚本名
3.最酷的方式:下 -->

<style type="text/css">
	form{
		width: 60%;
		/*height: 200px;*/
		margin: auto;
		background-color: lightpink;
	}

	input{
		margin-left: 30px;
	}
</style>
<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>选择文件:</strong><input type="file" name="upload" id="file"></p>
	</fieldset>
	<p align="center"><button type="submit" name="submit">上传</button></p>
</form>
<?php
// $_FILES:它是一个二维数组
// $_FILES['当前上传文件的控件名称:input[name="upload"]']//一维
// mkdir('upload') or die('创建目录失败');
// //二维
// $_FILES['upload']['name']:文件原始名称
// $_FILES['upload']['type']:文件类型
// $_FILES['upload']['size']:文件大小
// $_FILES['upload']['tmp_name']:服务器上的临时文件夹
// $_FILES['upload']['error']:错误代码

if($_SERVER['REQUEST_METHOD'] == 'POST'){
     //1.检测文件是否被上传
	if(isset($_FILES['upload'])){
		//2.设置:允许上传的文件类型
		$allow = ['image/jpj','image/jpeg','image/png'];

        // 判断用户上传的文件类型是否正确
		if(in_array($_FILES['upload']['type'], $allow)) {
            //3.将用户文件上传到指定的临时目录:move_uploaded_file()
           if(move_uploaded_file($_FILES['upload']['tmp_name'], "upload/{$_FILES['upload']['name']}")){
            	//4.上传成功
            	echo "<script><span style='color:green'>上传成功</span></script>";
				} 


		}else{
			echo  '<script><span style="color:red">没有文件</span></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;
			
			default:
				echo '未知错误';
				break;
		}

		echo '</strong></p>';
		//保险起见,最好把创建的临时文件删除,当然系统也会在结束会话时自动清空
		//file_exists判断文件是否存在
		if(file_exists($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name'])){
			unlink($_FILES['upload']['tmp_name']);
		}
	}
}
?>



<!-- <script type="text/javascript" src="js/js.js"></script>
<script type="text/javascript">
     $('button').click(function(){
     	$.ajax({
     		url : '',
     		type : 'POST',
            // dataType : 'json',
            async : true,
            data :'name='+$_FILES['upload'],
            success: function(res){
               $('p').append($(res))
           }  
       
     })
     }
</script> -->

运行实例 »

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



备注:提示信息全部采用Ajax方式显示,实在是不知道该怎样做了。

批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学