[英]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.