дефис приводит к ошибке в file_get_contents php

#php #json #url #yii

#php #json #url #yii

Вопрос:

У меня есть api на одном из моих сайтов. Когда я пытаюсь получить ширину содержимого file_get_contents , возникает ошибка. Я протестировал URL-адрес в браузере, и все в порядке. Вот мой URL dilox.ir/category/مجله-ماشین/?json=1 -адрес, а вот мой php-код

 $cat = 'مجله-ماشین';
$json = file_get_contents('http://dilox.ir/category/' . $cat . '/json=1amp;count=10amp;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}"
                ]
}
  

это показывает, что он не может прочитать URL. Тот же код успешно выполняется для категории без дефиса

Пожалуйста, посмотрите это редактирование

Я протестировал свой код. file_get_contents верните json для меня, но json_decode не может декодировать возвращенный json и вызвать ошибку

Комментарии:

1. Это ошибка PHP, прочитайте ее и исправьте ошибку

2. Да, конечно. Но какая ошибка? @RiggsFolly Как вы видите, эта ссылка отображается в браузере правильно

3. Он сообщает вам, что вы обращаетесь к свойству не-объекта, поэтому что-то не является объектом, который должен быть. Это было бы хорошим местом для поиска ApiController.php", "line":142,

4. Я вижу. но когда я меняю свою текущую категорию на категорию без дефиса, она работает нормально: ( @ArtisticPhoenix

5. Я не знаю Yii, но я предполагаю, что эти категории находятся в базе данных? если да, то существует ли категория. Для некоторых запросов типично возвращать false, когда нет результатов вместо объекта.