#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, когда нет результатов вместо объекта.