最近用户反映我们的系统只能上传50M大小的文件, 希望能够支持上传更大的文件。

很显然PHP无法轻易实现大文件上传, 因为会有各种各样的郁闷问题, 比如服务器超时等, 那么如何解决呢? 我想到了[nginx_upload_module](http://iw3c.com/archive/nginx-upload-module/)!!!



如何安装[nginx_upload_module](http://iw3c.com/archive/nginx-upload-module/)? 请看这里:[nginx_upload_module安装使用教程](http://iw3c.com/archive/nginx-upload-module/) 



解决了大文件上传之后又遇到了新问题, 我们希望通过[nginx_upload_module](http://waynerqiu.com/7/136.html)给后台php处理程序以GET方式传输数据(当然[nginx_upload_module](http://iw3c.com/archive/nginx-upload-module/)支持POST数据传递, 却不支持GET)



下面我解决[nginx_upload_module](http://iw3c.com/archive/nginx-upload-module/)使用GET传参的方法公布出来,希望能够帮助到和我一样需求的朋友!



修改nginx配置文件(程序站点配置文件test.conf)
location /upload_waynerqiu {
upload_pass_args on;
upload_resumable on;
upload_pass /up_test.php?$args;
#此处省略掉详细配置…
}

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?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?who=abc&she=def ** 将who=abc&she=def传递到 后台nginx回调程序 up_test.php中, 这个过程中我使用了nginx变量 $args

OK了