2014-04-23 24 views
0

我有一個巨大的價值。我需要通過窗體將這個巨大的值傳遞給另一個頁面。使用表單發佈非常巨大的價值?

<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..................' 

給我也增加的post_max_size在phpini。但同樣的問題。

如何減少服務器的POST加載時間。請幫幫我。

更新

我也增加memory_limit的

請問我如何使用後

+0

增加memory_limit。 –

+0

Curiouse ...你爲什麼不轉換圖像並通過輸入類型文件發送它? – rennyrocha

+0

@Rahul Kaushik我需要減少後加載時間。它需要超過10分鐘。我怎樣才能減少 –

回答

1

你可以增加你的php的限送非常大的價值。 ini文件

memory_limit = 64M 
+0

我已經增加了... –

+0

我需要減少後加載時間 –

0

有很多因素可能導致這一點:網絡,服務器的速度,PHP可用的資源等等。通過用一些調用來裝飾腳本來收集時間,並查看哪部分時間最長。在this有幾種不同的方法可以解決這個問題

+0

我有一個VPS專用服務器。我需要通過post 5mb圖像 –

0

聽起來這不是服務器端問題。您可能想在發送之前嘗試縮小圖像大小。您可以使用canvas.toDataURL('image/jpeg', 0.5);第二個參數會降低質量並應該減小文件大小。

0

我想你可以在http服務器上使用一些壓縮,如果你使用託管服務提供商,情況可能如此。

您還可以確定究竟是什麼導致了使用Firefox(或Opera ...)開發人員的聊天工具來查看網絡時間的延遲。

PHP的時機考慮使用

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

8-10分鐘是很長的時間「只是」一個5MB的文件進行編碼並上傳到一個專用的服務器。

你的問題可能是你使用的服務器類型,你說的是VPS。

「VPS」和「專用」通常不會在一起。

VPS表示您的應用程序正在運行其他應用程序的服務器上運行。

您的服務器是「專用的」 - 但只有一小段時間。

一個VPS服務器:

  • 您的應用作品的一小段時間
  • 停在一個完全不同的不同的應用程序的工作你對你的應用程序
  • 作品的時間
  • 另一個小週期
  • ,最後重新加載您的應用並重新開始工作。

您可能需要購買更多時間片才能在合理的時間內完成上傳。