2012-06-21 55 views
3

我想用php存儲一個很長的字符串在數據庫中。 字符串的大小是43kb。但是當我將這個字符串傳遞給一個php變量時,它不支持。它支持16379字符串。當我添加更多單個字符時,Dreamweaver會在該行上指示語法錯誤。如何在php變量中存儲一個長度爲50,000個字符的字符串。PHP非常長字符串支持

+0

然後只是將它分成兩行, '$ str ='...'; $ str。='...';' - 這也可能讓你感興趣:http://stackoverflow.com/questions/3189040/what-is-the-maximum-length-of-a-string-in-php – Niko

回答

8

只要您有足夠的內存來處理它,您就可以將任何內容存儲在PHP字符串變量中。

43kb不足以16379個字符。

Dreamweaver(我會盡量保持良好的),應該有它自己的內存限制,或者不用於處理這樣的變量。

你不試試運行PHP腳本嗎?順便說一句,如果你有這麼大的數據存儲在變量中,我真的建議你將它從你的PHP腳本移動到一個文件。

請注意,默認情況下,PHP的memory_limit爲128MB,但您增加了它。

+2

實際上字符串有2GB的限制,無論如何,即使你將更多的分配給PHP:http://www.php.net/manual/en/language.types.string.php – Erik

+0

良好的捕獲@Erik –

2

對PHP字符串沒有實際限制。

這是你的問題可能重複:What is the maximum length of a String in PHP?

爲了您的舒適,我就貼在這裏Bill Karwin迴應:

然而,PHP腳本有總存儲它的限制可以爲給定的腳本執行中的所有變量分配 ,因此,這種有效的 也會對單個字符串變量的長度進行限制。

此限制是php.ini配置 文件中的memory_limit指令。內存限制在PHP 5.2中默認爲128MB,在 早期版本中默認爲8MB。

如果你沒有在你的php.ini文件中指定一個內存限制,它將使用默認的 ,它被編譯到PHP二進制文件中。從理論上講,您可以修改源代碼並重建PHP以更改此默認值。

如果指定-1在你的php.ini文件中的內存限制,它停止 檢查,並允許您的腳本中使用盡可能多的內存作爲 操作系統將分配。這仍然是一個實際限制,但是 取決於系統資源和體系結構。

相關問題