解决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传递过来的参数!

时间: 2024-10-14 21:34:25

解决nginx上传模块nginx_upload_module传递GET参数的相关文章

nginx上传模块nginx_upload_module和nginx_uploadprogress_module模块进度显示,如何传递GET参数等。

ownload:http://www.grid.net.ru/nginx/download/nginx_upload_module-2.2.0.tar.gzconfigure and make : ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module   --add-module=/data/software/lnmp1.

nginx上传模块nginx_upload_module使用

1.安装模块 1 cd /data/software 2 wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.tar.gz 3 tar zxvf nginx_upload_module-2.0.12.tar.gz 进入nginx源码目录 1 ./configure --with-http_stub_status_module \ --add-module=/data/software/nginx_upload

nginx上传模块—nginx upload module-

一. nginx upload module原理 官方文档: http://www.grid.net.ru/nginx/upload.en.html Nginx upload module通过nginx服务来接受用户上传的文件,自动解析请求体中存储的所有文件上传到upload_store指定的目录下.这些文件信息从原始请求体中分离并根据nginx.conf中的配置重新组装好上传参数,交由upload_pass指定的段处理,从而允许处理任意上传文件.每个上传文件中的file字段值被一系列的uplo

如何解决nginx上传大文件的限制

通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题: 用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_size这个参数,否则会中断在nginx的请求中,在php中是无法记录到访问的. 一般上传大文件流程: 首先修改php.ini文件: file_uploads on 是否允许通过HTTP上传文件的开关.默认为ON即是开 upload_tmp_dir – 文件上传至服务器上存储临时文件的地方,如果没指定

Nginx的Upload上传模块

前段时间做一个项目,需要上传文件,差不多需要20M左右,普通用php处理会比较麻烦,经常超时,而且大量占用资源.于是搜索了下,决定用nginx的upload上传模块来处理. 你可以在这里:http://www.grid.net.ru/nginx/upload.en.html 获取源码.下载以后需要重新编译nginx 1 2 3 ./configure –add-module=/usr/local/nginx_upload_module-* make make install 重启nginx即可以

Nginx Upload Module 上传模块

传统站点在处理文件上传请求时,普遍使用后端编程语言处理,如:Java.PHP.Python.Ruby等.今天给大家介绍Nginx的一个模块,Upload Module上传模块,此模块的原理是先把用户上传的文件保存到临时文件,然后在交由后台页面处理,并且把文件的原名,上传后的名称,文件类型,文件大小set到页面. GitHub: https://github.com/vkholodkov/nginx-upload-module/tree/2.2 Site: http://wiki.nginx.or

druapl-note1 本地开发上传模块不提示Ftp的警告

刚安装完drupal之后,通过drupalxray 看到其它drupal网站安装的一些模块,下载好模块并安装时,提示需要输入Ftp信息. 但是本地开发不输入Ftp信息的(也不清楚自己的系统是否开启Ftp功能,再折腾ftp会多花时间). 找到资料说是: make sure the folder /sites/default is OWNED by the user that executes the drupal scripts. On most Ubuntu installations, thi

解决swfupload上传文件session失效

使用flash插件上传,可能是很多人选择的方式,但是随之而来的session丢失问题也着实让人头疼 swfupload代码如下: <script type="text/javascript" src=\'#\'" echo base_url();?>/static/js/swfupload/swfupload/swfupload.js"></script> <script type="text/javascript&qu

解决phpmyadmin上传文件大小限制的配置方法

解决phpmyadmin上传文件大小限制的配置方法 phpmyadmin导入SQL文件时涉及到phpmyadmin上传文件大小限制问题,默认phpmyadmin上传文件大小为2M,如果想要phpmyadmin上传超过2M大文件,就需要修改phpmyadmin上传文件的大小配置或者将大文件分几批上传,相对来说修改phpmyadmin上传文件大小的限制来得方便很多.解决phpmyadmin上传文件大小限制问题涉及修改php.ini配置文件和phpmyadmin配置文件. 修改phpmyadmin上传