解决nginx上传模块nginx_upload_module传递GET参数
睿丰德科技 专注RFID识别技术和条码识别技术与管理软件的集成项目。质量追溯系统、MES系统、金蝶与条码系统对接、用友与条码系统对接
1
2
3
4
5
6
7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
解决nginx上传模块nginx_upload_module传递GET参数的方法总结
最近用户反映我们的系统只能上传50M大小的文件, 希望能够支持上传更大的文件。
很显然PHP无法轻易实现大文件上传, 因为会有各种各样的郁闷问题, 比如服务器超时等, 那么如何解决呢? 我想到了nginx_upload_module!!!
如何安装nginx_upload_module? 请看这里:nginx_upload_module安装使用教程
解决了大文件上传之后又遇到了新问题, 我们希望通过nginx_upload_module给后台php处理程序以GET方式传输数据(当然nginx_upload_module支持POST数据传递, 却不支持GET)
下面我解决nginx_upload_module使用GET传参的方法公布出来,希望能够帮助到和我一样需求的朋友!
修改nginx配置文件(程序站点配置文件test.conf)
location
/upload_waynerqiu
{
upload_pass_args on;
upload_resumable on;
upload_pass
/up_test
.php?$args;
#此处省略掉详细配置…
#如需要详细的参考可查看http://waynerqiu.com/7/136.html
}
html表单代码(up_test.php,此页面即作为表单页同时也负责nginx_upload_module回调页面)
<
html
>
<
head
>
<
title
>Test upload</
title
>
</
head
>
<
body
>
<?
php
print_r($_REQUEST);
?>
<
h2
>Select files to upload</
h2
>
<
form
enctype
=
'multipart/form-data'
action
=
'/upload_waynerqiu?who=abc&she=def'
method
=
'post'
>
<
input
type
=
'file'
name
=
'file1'
><
br
>
<
input
type
=
'submit'
name
=
'submit'
value
=
'Upload'
>
<
input
type
=
'hidden'
name
=
'test'
value
=
'value'
>
</
form
>
<
a
href
=
'/up_test.php'
>back</
a
>
</
body
>
</
html
>
从以上两段代中我们可以看出我试使用/upload_waynerqiu?who=abc&she=def 将who=abc&she=def传递到 后台nginx回调程序 up_test.php中, 这个过程中我使用了nginx变量 $args(更多nginx变量请看这里:http://waynerqiu.com/7/138.html)。
经过测试之后发现参数可以完美的传递来了!
上图中红线部分即为使用nginx_upload_module传递过来的参数!
RFID管理系统集成商 RFID中间件 条码系统中间层 物联网软件集成