我有一个 php 脚本,它可以在我的本地主机服务器上完美运行。
当我将所有内容从本地主机移动到 Web 服务器时,我的 json_decode
不工作。
我已经尝试了 json_encode
但仍然没有。
这种行为可能有什么问题?
我的代码:
$productsArr = json_encode($_GET['object']);
$_GET['object']
是经过验证的 JSON。
我最后的选择可能是 magic_quotes
但我不知道我是否可以使用 cPanel 更改 PHP.ini 文件,这是我对服务器的唯一访问权限。
如果有任何想法,我将不胜感激。
编辑:
这是我的网址的一部分:
Request URL:http://something.com/download.php?object=[{%22code%22:%222F-58S%22},{%22code%22:%22HT-45H%22},{%22code%22:%2244-3%22},{%22code%22:%22898-OPv%22}]&checkbox=
如果这很重要,我会使用这个 header :
header('Content-Description: File Transfer');
header("Content-type: application/ms-word");
header("Content-Disposition: attachment;Filename=$name_of_file.doc");
最佳答案
我必须这样做才能使 json_decode
正常工作。也许有更好的方案。
$j = $_POST["json"];
$j = str_replace("\\\\\"", "###dq###", $j);
$j = str_replace("\\", "", $j);
$j = str_replace("###dq###", "\\\"", $j);
或者,简而言之:
$j = stripslashes($j);
关于php - json_decode() 在网络服务器上不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17928107/