相关疑难解决方法(0)

解决错误413请求实体太大

我在项目中工作,允许我们的员工将大文件上传到我们的共享主机并获取下载链接.问题是我们的主机拒绝为共享主机更改LimitRequestBody.还有其他解决方案可以解决LimitRequestBody或其他任何方式来完成这项工作吗?

javascript php apache hosting jquery

23
推荐指数
1
解决办法
1664
查看次数

传递Rgraph图像数据时,jQuery AJAX调用返回403 Forbidden错误

我正在开发一个项目,我使用Rgraph PHP库实现了几个图形/图表.在我的脚本中,我为图表执行以下操作:

  1. 计算图形点并使用Rgraph Draw()方法绘制图形.
  2. 使用该canvas.toDataURL()方法创建图像数据变量.
  3. 使用jQuery AJAX $.post()方法将此图像数据变量传递给服务器.
  4. 通过PHP脚本将图像保存到服务器.

此解决方案中的所有内容在我的localhost上运行良好,但是在开发服务器上,传递图像数据的AJAX请求返回a 403 Error.

我在客户端和服务器端都记录了数据以确定问题.客户端日志记录确认传递的imageData变量看起来正确.但是,服务器端日志记录确认传递的imageData变量是导致问题的原因.

去年有一个非常类似的问题,但他们无法确定这个问题的根本原因.任何人都可以帮我指出解决这个问题的正确方向吗?

我认为这是一个可能的数据编码问题,但如果是这种情况,为什么它在一台服务器而不是另一台服务器上运行?

我的相关Javascript:

radar.Set('chart.contextmenu', [
     ['Get PNG', RGraph.showPNG],
     null,
     ['Cancel', function () {}]
]);

radar.Draw();   

var imageData = radar.canvas.toDataURL("image/png");

console.log('imageData: ' + imageData);
console.log('filename: ' + 'tmpRadar<?php echo $us['UsersSurvey']['user_id']; ?>-<?php echo $survey['Survey']['id']; ?>.png');

$.post("/Surveys/save_chart", { 
    src     : imageData, 
    filename: 'tmpRadar<?php echo $us['UsersSurvey']['user_id']; ?>-<?php echo $survey['Survey']['id']; ?>.png'
});
Run Code Online (Sandbox Code Playgroud)

客户端记录:

imageData: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAOECAYAAACxbcj6AAAgAElEQ…AgQIAAgVECAqxR49YsAQIECBAgQIAAAQIECBAgQKCfwP8CXHJ+WDHVMbcAAAAASUVORK5CYII=
filename: tmpRadar19-1.png
POST http://website.com/Surveys/save_chart 403 (Forbidden) …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax jquery cakephp

12
推荐指数
1
解决办法
3876
查看次数

用PHP上传最大大小?

是否可以使用PHP上传~100 MB文件?

如果是这样,配置文件(php.ini)中需要进行哪些更改?

斯里兰卡

php ini uploading

7
推荐指数
2
解决办法
3万
查看次数

在PHP上传时,$ _FILES为空

我使用dropzone.js使用JQuery处理前端的上传部分.

http://www.dropzonejs.com/

我的测试用例是:

上传34 MB文件.工作正常...
上传一个27 MB的文件.工作正常...
上传两个文件,每个文件是5 MB.工作正常...
上传两个文件,34 MB + 27 MB.失败,$_FILES是一个空数组

这是JQuery代码:

<script>
    $(document).ready(function () {
        Dropzone.options.myAwesomeDropzone = {
            autoProcessQueue: false,
            url: '<?= site_url("admin/video/upload"); ?>',
            addRemoveLinks: true,
            previewsContainer: ".dropzone-previews",
            uploadMultiple: true,
            parallelUploads: 50,
            maxFilesize: 500, //500MB
            acceptedFiles: 'video/*',
            maxFiles: 100,
            init: function () {
                var myDropzone = this;

                myDropzone.on("success", function (file, response) {
                    $("#success, #fail").hide();
                    $("#" + response).show();
                });

                myDropzone.on("maxfilesexceeded", function (file) {
                    this.removeFile(file);
                });

                $("#submit-all").click(function (e) {
                    e.preventDefault();
                    e.stopPropagation();
                    myDropzone.processQueue();
                });
            } …
Run Code Online (Sandbox Code Playgroud)

php upload jquery file-upload file

4
推荐指数
1
解决办法
438
查看次数

当表单包含大量输入时,表单数据被截断/丢失了吗?

背景信息
我正在使用在Nginx上运行的CodeIgniter 2.1.4和PHP 5.3。我有一个HTML表单,表示本质上是同类数据的行。每个“行”都有几个<input />字段,每个字段具有相同的名称。这是一个简化的示例:

<input type="text" name="firstname[]" />
<input type="text" name="lastname[]" />
Run Code Online (Sandbox Code Playgroud)

因此,我有很多firstname[]输入,lastname[]输入等。提交表单后(操作是POST),我在像这样的控制器方法中检索数据(请注意,我正在使用CodeIgniter):

$firstnames = $this->input->post('firstnames');
$lastnames = $this->input->post('lastnames');
Run Code Online (Sandbox Code Playgroud)

这些变量是包含表单中相应行中的值的数组,从这里我对这些数据进行一些处理。

问题
当表单中的行数很大(几百)时,生成的PHP数组的大小与表单中的输入数不匹配 -例如,表单可能有200个firstname输入,但$firstname仅数组有167。此外,$lastname变量的大小也不同-166。

当表单中的元素数量较少时,一切正常。

我的理论是,我超出了堆栈中某处的某种最大大小设置或缓冲区,导致表单数据被截断。是否存在我不知道的“最大表单大小”的PHP或CodeIgniter或nginx设置?

对于它的价值,当同时使用两者application/x-www-form-urlencodedmultipart/form-data作为表单的内容类型时,我都看到了相同的行为。

我想念什么?

html php forms codeigniter nginx

3
推荐指数
1
解决办法
2875
查看次数

标签 统计

php ×5

jquery ×3

javascript ×2

ajax ×1

apache ×1

cakephp ×1

codeigniter ×1

file ×1

file-upload ×1

forms ×1

hosting ×1

html ×1

ini ×1

nginx ×1

upload ×1

uploading ×1