【发布时间】:2013-09-11 08:53:18
【问题描述】:
我们的 PHP 脚本托管在基于 Linux 的 Apache 服务器上。我有一个带有一个 textarea 和一个 提交按钮 的表单。此 textarea 包含一个非常长的 base64 字符串,由 284312 个字符组成。
当我提交此表单时,它花费了太多时间。很长一段时间后它仍在处理中。它适用于小型 base64 字符串并且图像已成功发布,但不适用于大型图像 base64 字符串。
我在服务器端使用以下代码来获取这个 base64 图像:
$ifp = fopen( "images/myimage.png", "wb" );
$status = fwrite( $ifp, base64_decode( str_replace(' ', '+', $_REQUEST['image'] ) ) );
fclose( $ifp );
有什么解决办法吗?我应该更改我的 PHP 或 Apache 配置中的任何内容吗?
【问题讨论】:
-
首先你说它很慢,然后它“不工作”。它是哪一个? “不工作”是什么意思?你为什么使用
str_replace?这不是 POST 请求吗? -
不知道。它很慢或不工作..因为它在半小时后仍在处理。当base64 sring很长时最终没有结果
-
为什么要使用 textarea 提交图片?
-
这是我发布base64字符串的测试表格。实际上我将使用我的服务器从其他客户端获取以base64字符串形式发布的图像..
-
刚刚在 PHP 5.4.4-14、webserver nginx 1.2.1、图像 5.6mb、base64 7489332 个字符上尝试了你的脚本,并且工作正常,没有问题。执行时间:0.099922895431519s。看起来你的 php 已经过时了?
标签: php string apache post base64