簡體   English   中英

如何在PHP頁面中發布長字符串?

[英]How do i post a long string into a PHP page?

這個問題分為兩個部分:

第一部分-限制?

我可以通過以下方式將數據存儲到數據庫中:

www.mysite.com/myscript.php?testdata=abc123

這適用於短字符串(例如'abc123'),並且頁面回顯寫入數據庫的內容; 但是,如果[testdata =]字符串長於512個字符,並且我檢查數據庫,則表明已添加一行,但該行為空,而且腳本中的echo語句也不會顯示輸入字符串。

注意:我在共享服務器上,並通過電子郵件發送給主機,以查看是否有限制。

第二部分-最佳做法?

如果可以克服上述障礙,我想使用一個在桌面應用程序中創建的〜15k字符長的字符串,該字符串將各種參數的[testdata =]字符串連接起來; 在PHP POST中發送長字符串的最佳方法是什么?

在此先感謝您的幫助,我對PHP不太了解。

編輯:表配置: 在此處輸入圖片說明

Edit2:行異常,長字符串> 512個字符: 在此處輸入圖片說明

Edit3:這是我的PHP腳本,如果有幫助的話:

<?
include("connect.php");

$data = $_GET['testdata'];
$result = mysql_query("INSERT INTO test (testdata) VALUES ('$data')");

if ($result) // Check result
{
    echo $data;                 
}
else echo "Error ".$mysqli->error;

mysql_close(); ?>

POST絕對是您要使用的方法,最好的選擇是使用cURL。 這樣的事情應該起作用:

$ch = curl_init();

curl_setopt( $ch, CURLOPT_URL,        "http://www.mysite.com/myscript.php" );
curl_setopt( $ch, CURLOPT_POST,       TRUE );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $my_really_long_string );

$data = curl_exec( $ch );

您需要根據環境修改以上內容以包含其他cURL選項,但這就​​是您想要的。

您將要確保您的數據庫字段足夠長以容納真正長的字符串。

回答1是的,URL的最大長度有限制。 查看更多: 查詢字符串的最大可能長度是多少?

答案2您可以像簡單變量($ _POST)一樣發送字符串。 僅檢查php.ini中輸入/執行的最大值的設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM