POST使用表格非常巨大的价值?

时间:2014-04-23 13:25:56

标签: php post file-upload canvas compression

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

<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

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

5 个答案:

答案 0 :(得分:1)

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

memory_limit = 64M

答案 1 :(得分:0)

有许多因素可能导致这种情况:网络,服务器的速度,PHP可用的资源等。首先通过一些调用来修改脚本以收集时间并看看它的哪个部分花费的时间最长。在this问题

,有几种不同的方法可以解决这个问题

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

您还可以使用firefox(或opera ...)开发人员toos的chrome来确定导致延迟的确切原因,以查看网络时间。

对于php计时,请考虑使用

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

答案 4 :(得分:0)

8-10分钟是“仅”将5mb文件编码并上传到专用服务器的时间很长。

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

“VPS”和“专注”通常不会在一起。

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

您的服务器是“专用的” - 但只是一小段时间。

VPS服务器:

  • 适用于您的应用一小段时间
  • 停止使用您的应用
  • 在另一个很短的时间内在一个完全不同的应用程序上工作
  • 最后重新加载您的应用并重新开始处理。

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