解決nginx上傳模塊nginx_upload_module傳遞GET參數


解決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)

1
2
3
4
5
6
7
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回調頁面)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
< 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傳遞過來的參數!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM