Что бы вы ни повторяли в PHP, оно будет получено как ответ HTTP.мы уже обсуждали то же самое в этом посте. отправка ответа из php-скрипта на iOS ,
Я предлагаю вам создать массив данных на основе любой информации, которую вы хотите отправить обратно на ваш iPhone.а затем преобразовать массив в json с помощью PHP-функции json_encode () .таким образом вы избежите ненужных отправок данных.
Обновление: вы можете реализовать его, используя условный оператор.
Метод 1: Определить, поступает ли запрос с iPhone напрямую, используя функцию обнаружения агента PHP.
function isIphone($user_agent=NULL) {
if(!isset($user_agent)) {
$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
}
return (strpos($user_agent, 'iPhone') !== FALSE);
}
if(isIphone()) {
//the query is coming from iPhone, place your data you want to send back to iphone here
} else {
//query is not from iPhone, you can place rest of your code here
}
в качестве альтернативы для этого метода вы можете использовать JavaScript для обнаружения iPhone, я предлагаю вам использовать PHP, потому что если кто-то отключит JavaScript, тоэто может привести к неожиданному поведению вашего кода, о том, как это сделать с помощью Javascript, посмотрите на ссылку ниже (приведенный выше пример взят из той же ссылки).
Обнаружить браузер iPhone
Метод 2: При запросе с вашего iPhone.отправьте некоторое значение HTTP-сообщения, сообщающее PHP, что запрос поступает с iPhone.IMO, лучше использовать POST
, чем GET
, потому что кто-то может узнать о вашем шаблоне URL и попытаться настроить его.вы можете обойти это, отправив другое случайное значение с iPhone и проверив его на стороне сервера.
, поэтому вместо этого
http://mysite.com?ua=iphone
вы можете попробовать отправить это
http://mysite.com?ua=iphone&ran=jkdkfjklj678
и затем в PHP вы можете проверить это, используя
if(isset($_POST['ua']) && $_POST['ua'] == 'iPhone') {
//The request is coming from iPhone, make sure to check the random value too
} else {
//The request is not from iPhone, render the other page.
}
Метод 3: почему бы просто не отправить запрос с iPhone на другойPHP скрипт вместо той же страницы?таким образом, вы можете разделить логику и избежать путаницы со скриптом.
например.Для iPhone вы можете использовать iphone.php
, а для остальных somepage.php
, для меня этот подход намного чище.