文件上传总结:
文件上传必须是post
文件允许的类型是multipart/form-data
在当前文件上处理的话action有3种方法:
1什么都不写:默认是当前脚本
2最死的方法:当前脚本
3最酷的方法: <?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>
$_FILES['当前上传文件的控件名
input[name="[upload"]' $_FILES['upload']['name']文件的原始名称 $_FILES['upload']['type']文件类型 $_FILES['upload']['size']文件大小 $_FILES['upload']['tmp_name']服务器上的临时文件夹 $_FILES['upload']['error']错误信息
实例
<!-- 文件上传必须是post 文件允许的类型是multipart/form-data 在当前文件上处理的话action有3种方法: 1什么都不写:默认是当前脚本 2最死的方法:当前脚本 3最酷的方法: --> <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 align="center"><strong>选择文件</strong><input type="file" name="upload"></p> </fieldset> <p align="center"><button type="submit" name="submit">上传</button></p> </form> <!-- $_FILES他是一个二维数组 $_FILES['当前上传文件的控件名 input[name="[upload"]' $_FILES['upload']['name']文件的原始名称 $_FILES['upload']['type']文件类型 $_FILES['upload']['size']文件大小 $_FILES['upload']['tmp_name']服务器上的临时文件夹 $_FILES['upload']['error']错误信息 --> <?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { //检测文件是否被上传 if (isset($_FILES['upload'])) { //设置文件上传的类型 $arr =['image/jpg','image/jpeg','image/png']; if (in_array($_FILES['upload']['type'],$arr)) { //将用户上传文件指定在临时目录: 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 '文件超过了phpini中的大小'; // break; // case 2: // echo '文件超过了表单设置的大小'; // break; // case 3: // echo '文件上传不完整'; // break; // case 4: // echo '没有文件上传'; // break; // case 6: // echo '临时文件夹没有'; // break; // case 6: // echo '上传意外终止'; // break; // default: // echo '位置错误'; // break; // } // echo '</strong></p>'; } } ?> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascript"> $('#submit').click(function(){ var pic = new FormData(); pic.append("file",$("file").get(0).files[0]); $.ajax({ url:'upload.php', type:'post', processData:false, contenType:false, data:pic, success:function(res){ $('span').remove() $('P').after('<span>').next().html(res).css('color','red') // switch (res.status) { // case 0: // $('P').after('<span>').next().html(res.msg).css('color','blue') // break; // case 1: // $('P').after('<span>').next().html(res.msg).css('color','blue') // break; // case 2: // $('P').after('<span>').next().html(res.msg).css('color','blue') // break; // case 3: // $('P').after('<span>').next().html(res.msg).css('color','blue') // break; } }) return false }) </script>}
运行实例 »
点击 "运行实例" 按钮查看在线实例