2011-10-03 6 views
1

내 응용 프로그램에는 두 페이지가 있습니다. 색인 및 엔진. 색인은 주로 jQuery 스크립트를 가지고 있으며 기본 두 가지는 3 분마다 발생하는 engine.php 파일의 자동로드 기능이고 다른 하나는 클릭 할 때 10 개의 게시물을 보여주는 "더보기"버튼입니다.모든 방문자에게 전역 배열 또는 파일을 추가하여 성능을 향상 시켰습니까?

$feeds = array('',''); 
$entries = array(); 
foreach ($feeds as $feed) { 
$xml = simplexml_load_file($feed); 
$entries = array_merge($entries, $xml->xpath('/rss/channel//item')); 
} 

는 내가 찾던 매 3 분의 engine.php로드하거나 클릭하는 $feeds = array('',''); 부분을 분리하는 방법입니다.

제안 사항은 무엇입니까?

답변

0

나는 당신의 질문을 이해할 수 없지만, 전역 변수는 모든 기능을 벗어난 정의 된 경우 PHP에서 정의됩니다. 내부를 사용하려면, 당신은 그것을 사용하기 전에이처럼 참조 할 수있다 : 당신이 무엇을 의미하는지, 당신의 변수의 필요성에 대한 값이 요청 사이에 지속되도록하는 경우

$variable = ""; //this variable is global 
function test(){ 
    global $variable; 

    //now you can use your variable 
} 

, 그럼 난 당신이 $를 사용하는 것이 좋습니다 것입니다 _SESSION 배열 (link).

귀하의 질문에 답변이되지 않으면 알려주십시오. 당신은 $를 유지해야합니다 업데이트 대답

에 대한

편집은 어떤 방법으로 배열을 공급한다. 가장 쉬운 방법은 세션을 사용하는 것이라고 생각하지만, 언급 한 모든 사용자가 배열을 사용할 수 있도록 만들지는 않습니다. 따라서 피드 목록을 파일에 보관하여 모든 사용자가 매번 동일한 정보에 액세스 할 수 있도록하는 것이 좋습니다.

언제든지 (예 : 10 분마다) 파일을 업데이트하는 새 스크립트를 만들 수 있으며 engine.php는 파일과 직접 작업해야합니다.

제안 된 솔루션에 대한 코드와 관련하여 도움이 필요합니까? 문제 해결에 도움이됩니까?

Edit2가

당신의 $ 파일로 배열을 공급 저장하려면, 단순히 (난 당신이 이미 알고있는이 부분 추측) 다음을 수행하십시오

$fp = fopen("feeds.txt", "a"); 
if($fp) { 
    foreach($feeds as $line) { 
     fwrite($fp, $line."\n"); 
    } 
    fclose($fp); 
} 

그리고 같은 파일을로드하기 위해, 당신을 이 작업을 수행 할 수 있습니다 당신은 $ 항목 배열을 직렬화하려면

$feeds = file("feeds.txt"); //This will load each line into a different position of the array $feeds. 

, 나는 serialize & unserialize 기능에서 살펴 본다 제안

+0

더 나은 이해를 위해 제 질문이 완전히 업데이트되었습니다. – EnexoOnoma

+0

내 대답도 업데이트했습니다. – Deleteman

+0

사실 배열에서 파일을 저장하는 코드를 발견했습니다. 첫 번째'foreach '이후에 배치했지만 simpleXML의 배열을 직렬화 할 수 없다고 말합니다. 해당 코딩에 대한 도움을 주시면 감사하겠습니다. – EnexoOnoma

관련 문제