PHP에서 어떤 내용이든 HTTP 응답으로 수신됩니다. 우리는이 게시물에서 이미 같은 내용을 논의했습니다. sending a response from a php script to iOS,
iPhone으로 다시 보내려는 정보에 관계없이 데이터 배열을 만드는 것이 좋습니다. PHP의 json_encode() 함수를 사용하여 배열을 json으로 변환하십시오. 이렇게하면 불필요한 데이터가 전송되는 것을 피할 수 있습니다.
업데이트 : 조건문을 사용하여 구현할 수 있습니다.
방법 1 : 요청이 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
}
, 나는 누군가가 자바 스크립트를 비활성화하는 경우 다음이 사용하는 자바 스크립트 작업을 수행하는 방법에 대한 코드에 의해 예기치 않은 동작으로 발생할 수 있기 때문에이 당신이 PHP를 사용하는 것이 좋습니다 아래의 링크를보십시오 (위의 예는 같은 링크에서 가져옵니다).
Detect iPhone Browser
방법 2 : 당신이 당신의 아이폰에서 조회. 요청을 iPhone에서 가져 오는 것을 PHP에 알리는 HTTP POST 값을 보내십시오. IMO POST
다음에 GET
을 사용하는 것이 더 좋습니다. 누군가가 귀하의 URL 패턴을 알게되고 조정할 수도 있기 때문입니다. iPhone에서 임의의 다른 값을 전송하고 서버 측에서 확인하여이를 해결할 수 있습니다.
그래서 대신
http://mysite.com?ua=iphone
의 당신은 PHP에서 사용을 확인할 수 있습니다이
http://mysite.com?ua=iphone&ran=jkdkfjklj678
및 전송 시도 할 수
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.
}
M ethod 3 : iPhone에서 요청을 동일한 페이지 대신 다른 PHP 스크립트로 보내지 않는 이유는 무엇입니까? 이 방법을 사용하면 논리를 분리하고 스크립트로 엉망이되는 것을 피할 수 있습니다.
예를 들면. iPhone의 경우 iphone.php
을 사용하고 나머지는 somepage.php
으로 나에게이 방법은 훨씬 더 깨끗합니다.
당신이 이것을하는 방법을 이해할 수없는 경우. 나를 알리고 설명하기. –
안녕하세요, Azhar, 답장을 보내 주셔서 감사합니다. 나는 json 배열로 정보 페이지의 데이터를 변환하고 iphone에서 성공적으로 액세스했지만 내가 원하는 것은 로그인 후 웹 페이지에 json 배열을 표시하고 싶지 않다. 대신 실제 웹 페이지 wher 사용자가 세부 정보를 볼 수 있기를 원한다. 정상적인 웹 페이지 에서처럼. – iSim
답변이 업데이트되었습니다. 그것이 당신을 돕는다면 대답으로 표시하는 것을 잊지 마세요 :) –