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