2009-08-31 2 views
0

PHP로 복사본을 판매 할 애플리케이션을 작성 중입니다. 당신이 알고 있어야하는 경우, 그것은 사용자가 만료 다운로드 링크를 사용하여 파일을 다운로드 할 수 있도록하는 데 사용됩니다.외부 스크립트로 PHP 스크립트 사용 통계를 보내는 가장 좋은 방법

내 판매 응용 프로그램 중 하나가 다운로드를 생성 할 때마다 알고 싶습니다.

내 서버의 PHP 응용 프로그램에 "안녕하세요, 스크립트 중 하나가 작업을 수행했습니다"라고 알리는 가장 좋은 방법은 무엇이겠습니까? 그리고 셀 수를 유지하는 가장 좋은 방법은 무엇입니까? 내 서버가이 성질을 얻는 "히트 수"? 데이터베이스 레코드 또는 일반 텍스트 파일?

내 홈페이지에서 다운로드의 총 수의 실행 수를 표시 할 때문에 일종의 같은 질문 : "X 다운로드에 대한 책임까지"

순수 PHP 솔루션은 아이디어이지만, 아약스 호출도 괜찮을 것이라고 생각합니다. 내가하는 모든 작업이 단순한 $ var ++이기 때문에 더 큰 것은 더 간단합니다.

누구나 올바른 방향으로 나를 가르쳐 주시겠습니까?

답변

2

자바 스크립트 또는 PHP에 관계없이 다른 스크립트에서 호출 할 수있는 서버에 URL을 설정해야합니다. 그 URL은 카운터를 증가시키는 스크립트를 가리켜 야합니다. 데이터베이스에 숫자를 넣고 값을 증가 시키거나 더 자세한 정보를 원하면 월/클라이언트 등으로 쉽게이 값을 나눌 수 있습니다.

PHP에서 URL을 호출하는 경우, 즉 URL이 실행을 차단하지 않도록합니다. 즉, 사이트가 다운되면 서버가 응답하기를 기다리는 동안 판매하는 스크립트가 멈추지 않습니다. 다양한 방법으로이 문제를 해결할 수 있습니다. 종료 기능을 등록하면됩니다.

이 문제가없는 대안은 javascript 또는 이미지로 URL을로드하는 것입니다.하지만 둘 다 약간 정확하지는 않습니다. 이미지를 직접 볼 수는 있지만, 지원하다.

Zend Guard와 같은 코드로 컴파일하지 않으면 누구든지 원격 통화를 제거하고 카운터가 증가하지 않도록 할 수 있습니다.

+0

사용자 정보가 너무 걱정스럽지 않습니다. 간단한 계산이 필요하므로 이미지 경로를 탐색 할 수 있습니다. 이 때문에 높은 트래픽이 발생하기 시작했다고 가정하면 반복되는 db 호출로 인해 서버에 미치는 영향이 줄어들 수있는 방법이 있습니까? 또한 카운터를 지우는 사람들에 대해 걱정하지 않아도 어쨌든 자발적으로 참여할 것입니다. 어떤 종류의 키를 인증하기 위해 라이센스 키와 xml-rpc 또는 SOAP 호출과 같은 것을 보호해야 할 수도 있습니다. 이 주제에 대해 다른 질문을 시작하겠습니다. 당신의 도움을 주셔서 감사합니다. –

+0

당신은 많은 트래픽을 .. 첫 번째로, 나는 그것이/언제 일어날 때 그것에 대해 걱정할 것입니다. db 필드의 크기를 늘리는 것이 좋습니다. 그러나 memcacheq와 같은 것을 사용하여 업데이트를 대기열에 넣을 수 있으며, 들어올 때 매우 신속하게 처리하고 큐에서 일괄 적으로 처리 할 수 ​​있습니다. – benlumley

1

네가 뭔가 부르는 url이 너 뭐야. SOAP는 아마도 이것에 대해 가장 쉬운 방법 일 것입니다.

http://php.net/soap

는 Benlumley이 솔루션에 대한 유효한 점을 많이했다.

계산을 사용자 브라우저로 오프셋하려는 경우 (웹 서비스 호출로 인해 앱을 구매하는 사람들이 대역폭/CPU 비용을 괴롭히는 경우) AJAX가 더 나은 솔루션 일 수 있습니다.

관련 문제