2012-01-26 9 views
0

상태를 업데이트 할 때 취할 접근 방법을 고객의 시스템에서 혼란스럽게 생각합니다. 정상적인 절차에서는 배달 데이터를 다시 게시 할 URL을 제공합니다.PHP cURL 또는 헤더 접근?

이제 배달 데이터를 업데이트하면 고객 시스템에 통보해야하므로 시스템에서 배달 상태 변경이 cron 작업 (납품 상태 확인) 대신 실시간으로 발생합니다.

이 우리의 시스템의 모든 업데이트가 완료 일단

header('Location:http://path/to/client/parse_update_delivery_status.php'); 

또는

cURL.... //http post to client's url for updating delivery status on their system based on what we passed here 

접근해야 하는가?

정말 감사드립니다. :) 감사!

답변

1

나는 cURL을 사용해야하고, 적어도 컬을 사용하면 훨씬 잘 작동 할 것이라고 확신한다. parse_update_delivery_status.php는 HTTP POST로부터 데이터를 받습니까?

위치 헤더를 사용하면 브라우저가 해당 스크립트로 리디렉션되고 쿼리 문자열에 추가하지 않는 한 데이터가 전달되지 않습니다. 업데이트가 수행 된 경우 사용자가 브라우저에서 충분히 빨리 정지하여 리디렉션을로드하지 못하게 할 수 있습니다. 또한 스크립트는 사용자에게 의미있는 것을 출력하지 않으므로 사용자가 이해하지 못하는 빈 페이지 나 데이터를 화면에 남겨두고 사이트로 돌아가려면 뒤로 버튼을 사용해야합니다.

업데이트가 cron 작업 또는 PHP CLI 스크립트에서 실행 된 경우 머리글은 아무 의미가 없습니다.

+0

나는보고 있기 때문에 배달 상태 변경을 구문 분석하고 cURL 처리 후 시스템 처리를 위해 '확인'또는 '오류'메소드를 반환하도록 요청하는 URL에 대해 cURL을 수행하면됩니다. 나는 네 말이 맞다면 좋겠다. 대단히 감사합니다! :) – Woppi

+0

PHP를 사용하여 요청을 서버에 직접 게시하고 응답을 받고 업데이트가 성공했는지 또는 어떤 이유로 실패했는지 결정할 수 있습니다. Curl은 매우 사용하기 쉽고, php.net에있는 것들은 너무 기본적인 것들이지만 많은 예제들이 있습니다. 그러나 [curl_init] (http://php.net/curl_init), [curl_setopt] (http://php.net/curl_setopt), [curl_exec] (http://php.net/curl_exec) 및 다양한 컬 옵션을 통해 자습서와 작업을 쉽게 파악할 수 있습니다. – drew010

+0

고마워요! 나는 그것을하는 방법을 지금 이해한다. 귀하의 대답은 매우 간단하고 핵심에 직접! 다시 고마워! :) – Woppi

1

이 작업은 cURL 작업으로 수행해야합니다. 그 이유는 리디렉션과 같은 브라우저 작업을 처리하는 데있어 업데이트 스크립트가 책임지지 않아야하기 때문입니다. 그들의 직업은 업데이 트해야 할 것이 무엇이든 업데이트하는 것입니다. cURL을 사용하면 업데이트 스크립트에 의해 반환되는 상태 코드를 처리하는 모든 코드를 업데이트 스크립트와 함께 사용하는 대신 사용자에게 제공하는 코드로 이동할 수 있습니다. 이 방법을 사용하면 업데이트 스크립트를 깨끗하게 유지할 수 있으며 오해의 소지가있는 리디렉션에 대해 걱정할 필요없이 여러 소스에서 호출 할 수 있습니다.