【问题标题】:POST very huge value using form?使用表单发布非常巨大的价值?
【发布时间】:2014-06-08 08:57:45
【问题描述】:

我有巨大的价值。我需要使用表单将巨大的价值传递给一个页面到另一个页面。

<form name="ss" method="post" enctype="multipart/form-data">
<input type="text" name="huge_value" value="<?php echo $huge_value;?>" />
<input type="submit" name="submit" value="submit" />
</form>

巨大的价值是画布base64 encoded图像。我需要转换此图像并下载该图像。所以只有我将该值传递给另一个文件。

我的脚本在 localhost 中运行良好。当我将文件上传到服务器时,巨大的帖子价值需要至少 8 分钟到 10 分钟的时间进行转换和下载。

下面是我的海量数据示例

$mainarrattt = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACvAAAArwCAYAAAB4iu5YAA..................'

我也在phpini中增加了POST_MAX_SIZE。但同样的问题。

如何减少服务器中的 POST 加载时间。请帮帮我。

更新

我也增加了memory_limit

请教我如何使用帖子发送非常大的价值

【问题讨论】:

  • 增加memory_limit。
  • 好奇...你为什么不转换你的图像并通过输入类型文件发送它?
  • @Rahul Kaushik 我需要减少后期加载时间。它需要超过 10 分钟。我怎样才能减少
  • 这是一种非常不同的看待问题的方式,但也许这个答案可能对您从另一个问题有所帮助 - stackoverflow.com/a/15353235/1358554 - 基本上它说从图像数据中创建一个 blob,然后创建一个在内存中链接到 blob 并让用户下载为文件,而无需接触服务器
  • 最终图像有多大?还请查看您的浏览器开发工具并检查网络选项卡,看看大部分时间是花在“发送”还是“等待”上。

标签: php post file-upload canvas compression


【解决方案1】:

8-10 分钟对于“仅”一个 5mb 的文件进行编码并上传到专用服务器来说是很长的时间。

您的问题可能是您使用的服务器托管类型,即您所说的 VPS。

“VPS”和“专用”通常不会同时出现。

VPS 表示您的应用程序正在运行其他应用程序的服务器上运行。

您的服务器是“专用的”——但仅在一小段时间内。

VPS 服务器:

  • 在您的应用上运行一小段时间
  • 停止运行您的应用
  • 在另一个完全不同的应用程序上工作一小段时间
  • 最后重新加载您的应用并重新开始工作。

您可能需要购买更多时间片才能在合理的时间内完成上传。

【讨论】:

    【解决方案2】:

    我想您可以在 http 服务器上使用一些压缩,如果您使用托管服务提供商可能就是这种情况。

    您还可以使用 firefox(或opera...)开发者工具的 chrome 查看网络时序来确定延迟的确切原因。

    对于 php 计时考虑使用

    $then = microtime();
      //put the post functions here
      theTestedFunction();
      anotherTestedFunction();
    $now = microtime();
    echo sprintf("Elapsed:  %f", $now-$then);
    

    【讨论】:

      【解决方案3】:

      听起来这不是服务器端的问题。您可能想在发送之前尝试减小图像大小。您可以使用canvas.toDataURL('image/jpeg', 0.5); 第二个参数会降低质量并应减小文件大小。

      【讨论】:

        【解决方案4】:

        有许多因素可能导致此问题:网络、服务器速度、PHP 可用的资源等。首先通过一些调用来装饰您的脚本以收集时间并查看它的哪一部分花费的时间最长.在this question 有几种不同的方法来解决这个问题

        【讨论】:

        • 我有一个 VPS 专用服务器。我需要使用 post 传递 5mb 图像
        【解决方案5】:

        您可以在 php.ini 文件中增加限制

        memory_limit = 64M
        

        【讨论】:

        • 我需要减少后期加载时间
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-22
        • 1970-01-01
        • 1970-01-01
        • 2014-04-19
        • 2015-01-12
        • 1970-01-01
        相关资源
        最近更新 更多