win10下php + apache客户端上传文件
1、apache配置1
//去掉以下行首#,加载apache相关模块,启用php
LoadModule actions_module modules/mod_actions.so
//加载php链接apache2模块,事先下载php包
LoadModule php7_module "D:/php-7.4.30-Win32-vc15-x64/php7apache2_4.dll"
//php配置路径
PHPIniDir "D:/php-7.4.30-Win32-vc15-x64"
//固定写法,后缀可自定义添加删除
AddType application/x-httpd-php .php .html .htm
2、php配置1
//php压缩包找到php.ini-development,备份改名为php.ini。
//修改php.ini文件
/*****启用扩展,去除前面的分号';'*****/
;extension=bz2
extension=curl
extension=gd2
extension=mbstring
extension=mysqli
extension=pdo_mysql
/*****更改php扩展路径*****/
extension_dir = "D:/php-7.4.30-Win32-vc15-x64"
On windows:
extension_dir = "D:/php-7.4.30-Win32-vc15-x64/ext"
/*****更改php服务配置*****/
file_uploads = On
//默认在系统temp
upload_tmp_dir = "SET_DIR"
post_max_size=1000M
//其中upload_max_filesize <= post_max_size
upload_max_filesize=1000M
memory_limit = 256M
//time单位second
max_execution_time = 3500
max_input_time = 3500
max_file_uploads=20
注意:重启 apache,使配置生效,运行命令httpd -k restart
或者通过任务管理器重启动
3、上传脚本23
DocumentRoot根路径下,新建index.html和submit.php。
index.html如下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Files uploading</title>
</head>
<body>
<table>
<form enctype='multipart/form-data' name='myform' action='submit.php' method='post'>
<input type="hidden" name="MAX_FILE_SIZE" value="5000000000"/>
<tr><td>Select Files
<input name='rzfile' type='file'/>
</td></tr>
<tr><td colspan='2'>
<input name='submit' value='Upload' type='submit'/>
</td></tr>
</form>
</table>
</body>
</html>
submit.php如下
<?php
//header('content-type:test/html;charset=utf-8');
//1.通过$_FILES文件上传变量接收上传文件信息
print_r($_FILES);
$file=$_FILES['rzfile'];
$filename=$file['name'];
$type=$file['type'];
$tmp_name=$file['tmp_name'];
$size=$file['size'];
$error=$file['error'];
//**注意**:upload路径最好写绝对路径
$uploaddir='D:/www/upload';
$uploadfile=$uploaddir.basename($filename);
//2.判断错误号,只有为0或者是UPLOAD_ERR_OK,表示没有错误发生,上传成功
if($error == UPLOAD_ERR_OK) {
if(move_uploaded_file($tmp_name, $uploadfile)) {
echo 'file:'.$filename.'upload successful';
}
else {
echo 'file'.$filename.'upload failed';
}
}else{
switch($error) {
case 1:
echo '1: upload file size beyond upload_max_filesize';
break;
case 2:
echo '2: upload file size beyond post form MAX_FILE_SIZE limit';
break;
case 3:
echo '3: 文件被部分上传';
break;
case 4:
echo '4: 没有选择上传文件';
break;
case 6:
echo '6: 没有找到临时目录';
break;
case 7:
case 8:
echo '7:8: 系统错误';
break;
}
}
?>
4、结果
上传链接跳转
上传成功,出现successful
参照: