pat*_*ick 11 php size json limit
我正在使用PHP代理来获取文件的内容.我想使用功能强大的jQuery选项搜索该文件,而不必在PHP中编写各种查询.这是我的PHP代码:
$page = file_get_contents( filter_var( $_POST[url], FILTER_SANITIZE_URL ) );
die( json_encode( $page ) );
Run Code Online (Sandbox Code Playgroud)
如果加载的页面太大,PHP将读取整个文档,但json_encoding它只会给出文件的第一部分,而不是整个文件.我找不到关于json传递数据的大小限制的任何内容,但显然有一个.
问题:是否有一种解决方法可以防止只传输部分文件?
我需要从其他域中获取文件,因此在jQuery中读取文件的内容实际上并不是一种选择.
Cod*_*man 18
帮助那些可能遇到无法用json_encode解释的问题的人.我发现了解json错误消息函数是有帮助的.
json_last_error_msg();
Run Code Online (Sandbox Code Playgroud)
我遇到了类似的问题,但它与文件大小无关.我在数据库中输入了utf-8格式错误.你可以像这样检查你的json
$json = json_encode($data);
if ($json)
echo $json;
else
echo json_last_error_msg();
Run Code Online (Sandbox Code Playgroud)
这里有PHP文档json_last_error_msg
mar*_*rio 12
PHP 5.3:ext/json/json.c
PHP 7(当前):ext/json/json.c
JSON序列化数据的大小没有内置限制.不管怎么说都不是.因此我假设您已经遇到PHP内存限制或其他问题.
json_encode
一致的字符串只是添加一些转义和外部双引号.在内部,这意味着一点内存加倍(临时字符串连接和utf8_to_utf16转换/检查),所以我已经遇到了我的32MB php内存限制,已经有8MB字符串.但除此之外,似乎没有任意限制json.c