连字符在file_get_contents php中出错

时间:2016-10-17 19:30:10

标签: php json url yii

我的一个网站上有api。当我尝试获取内容宽度file_get_contents时发生错误。 我在浏览器中测试了网址,没关系。 这是我的网址dilox.ir/category/مجله-ماشین/?json=1,这是我的PHP代码

$cat = 'مجله-ماشین';
$json = file_get_contents('http://dilox.ir/category/' . $cat . '/json=1&count=10&page=' . $page);

执行我的代码后。我面对这个错误

{ "name":"PHP Notice",
  "message":"Trying to get property of non-object",
  "code":8,
  "type":"yii\\base\\ErrorException",
  "file":"C:\\xampp\\htdocs\\pkhodro\\controllers\\ApiController.php",
  "line":142,
  "stack-trace":["#0 C:\\xampp\\htdocs\\pkhodro\\controllers\\ApiController.php(142): yii\\base\\ErrorHandler->handleError(8, 'Trying to get p...', 'C:\\\\xampp\\\\htdocs...', 142, Array)",
                "#1 [internal function]: app\\controllers\\ApiController->actionGet_magazines(1)",
                "#2 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\base\\InlineAction.php(55): call_user_func_array(Array, Array)",
                "#3 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\base\\Controller.php(154): yii\\base\\InlineAction->runWithParams(Array)",
                "#4 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\base\\Module.php(454): yii\\base\\Controller->runAction('get_magazines', Array)",
                "#5 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\web\\Application.php(87): yii\\base\\Module->runAction('api/get_magazin...', Array)",
                "#6 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\base\\Application.php(375): yii\\web\\Application->handleRequest(Object(yii\\web\\Request))",
                "#7 C:\\xampp\\htdocs\\pkhodro\\web\\index.php(12): yii\\base\\Application->run()","#8 {main}"
                ]
}

它表明它无法读取网址。对于没有连字符

的类别,相同的代码正在成功执行

请参阅此修改

我测试了我的代码。 file_get_contents为我返回json,但json_decode无法解码返回的json并导致错误

0 个答案:

没有答案