2010-07-16 5 views
1

file.xml에 10 000 레코드의 RSS 피드가 있습니다 (1 시간 동안 10 개의 피드에서 수집 했으므로 시간 소인이 도움이되지 않습니다. btw은 yahoo pipes을 사용했습니다). 시간당 1 개로 하루 24 개씩 나타나는 레코드를 시뮬레이트하려면 몇 가지 수업이 필요합니다.PHP RSS 시뮬레이터를 만드는 방법?

내가 볼 방법 :

  • 가 타임 스탬프를 생성 (이에 대한 클래스가 도와주세요 알고있는 경우) SQL 테이블에

    1. 차례 file.xml을 (하나가 타임 스탬프를 생성하는 좋은 방법을 제공 할 수 있습니다 10 000 레코드?)

    2. rss (컴퓨터 시계를보고 처음부터 지금까지 레코드를 반환하는) 클래스를 만드는 클래스입니다 (DB에서 유효한 RSS를 생성하는 방법을 제공해 줄 수 있습니까?)

    가능한 경우 도움을주십시오.

    xampp을 PHP apache mysql 서버 홀더로 사용합니다.

    내가 (양면 - 서버와 클라이언트) 내 dev machin의의 및 localY 그것을 사용하기 위하여려고하고있다

  • +0

    RSS로 다시 되돌리려면 왜 데이터베이스에 추가해야합니까? RSS를 렌더링하는 것과 동시에 타임 스탬프를 생성 할 수 있습니다. – funwhilelost

    +0

    @infamouse : 어떻게 보여줄 수 있습니까? – Rella

    답변

    1
    $doc = new DOMDocument(); 
    $doc->loadHTMLFile($file); 
    
    $xpath = new DOMXpath($doc); 
    $elements = $xpath->query("//fileroot/nodes"); 
    if (!is_null($elements)) { 
        $dateinterval = [0 hours]; 
    
        foreach ($elements as $element) { 
        // read each node and then store it... 
        $storycontents = $element->nodeValue; 
        $storytimestamp = date() - $dateinterval; 
        $dateinterval = $dateinterval - [1 hour]; 
    
        [add story to rss feed] 
        } 
    } 
    
    [render all of the collected rss feed stories] 
    

    일부는 의사 코드로 작성할 수 있습니다. 그러나 기본적으로이 라인을 따라 무엇인가.

    0

    그럼, 당신의 첫 번째 질문에 대답하기 위해, 난 그냥 피드를 구문 분석하는 간단한 스크립트를 작성합니다 (this 체크 아웃 및 php.net) 데이터베이스에 저장합니다.

    이렇게하는 동안 타임 스탬프를 저장합니다. 그것들을 생성하려면, 예를 들어 현재 시간 소인으로 시작하고 행을 삽입 할 때마다 3600을 추가하면됩니다 (php는 유닉스 타임 스탬프를 사용하고 3600 초는 1 시간을 나타냅니다).

    마지막 질문은 this 문서를 참조하십시오.

    관련 문제