<form action="" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="542488">
<fieldset>
<legend align="center">文件上传</legend>
<p>
<strong>选择文件:</strong>
<input type="file" name="upload">
</p>
</fieldset>
<p align="center">
<button type="submit" name="submit">上传</button>
</p>
</form>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$('button').on('click',function(){
$.post( 'upload.php','wenjian='+$('input[name="upload"]').val(),function(data){
},'json')
})
</script>点击 "运行实例" 按钮查看在线实例
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
//检测是否有文件被上传
if(isset($_FILES['upload'])){
//设置一个允许上传的类型
$allow = ['image/jpg','image/jpeg','image/png'];
// 检测用户上传的文件类型是否正确
if(in_array($_FILES['upload']['name'],$allow)){
//将用户文件上传到指定的临时目录:move_uploaded_file()
if(move_uploaded_file($_FILES['upload']['tmp_name'],"upload/{$_FILES['upload']['name']}")){
exit(json_encode(['status'=>0,'msg'=>'上传成功']));
}
}
}
//对上传错误进行处理
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 7:
echo '磁盘已满,写入失败';
break;
case 8:
echo '上传意外中止';
break;
default:
echo '系统未知错误';
break;
}
echo '</strong></p>';
//保险起见,最好把创建的临时文件删除,当然系统也会在结束会话时自动清空
if (file_exists($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name'])) {
unlink($_FILES['upload']['tmp_name']);
}
}
}
?>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号