2012-09-15 4 views
0

1986 행의 XML 파일을 구문 분석하는 동안 문제가 있습니다. 실행 시간 초과가 발생합니다 !!XML 파일 구문 분석 시간이 초과되었습니다.

여기 내 코드입니다 :

$XML_File = simplexml_load_file("EXTERNAL URL"); 

$projects = $XML_File->channel->item; 
$i = 0; 
while($projects) 
{ 
    $title = $projects[$i]->title; 
    $link = $projects[$i]->link; 
    $description = $projects[$i]->description; 
    $category = $projects[$i]->category; 
    $i++; 
} 

내가 그것을 실행

, 그것은 시간 초과 30 초 후, 어떤 결과를 반환하지 않고!

while 루프를 for ...으로 바꿨을 때 최대 4 개로 작동했습니다. 큰 파일을 구문 분석 할 수있는 방법이 있습니까 ?? 아니면 데스크톱 응용 프로그램을 만드는 것으로 이동해야합니까 ??

+0

'과 실행 시간'위해서는 ini_set ('max_execution_time이라는', 180)'확장 :

는 어쩌면이 같은 작동합니다. 또한 먼저 파일을 가져 와서 디스크에 저장하고 파싱하여 파 일에서 검색하는 시간을 절약 할 수 있습니다. – Zefiryn

답변

2
$XML_File = simplexml_load_file("EXTERNAL URL"); 

$projects = $XML_File->channel->item; 
$i = 0; 
while($projects) 
{ 
    $title = $projects[$i]->title; 
    $link = $projects[$i]->link; 
    $description = $projects[$i]->description; 
    $category = $projects[$i]->category; 
    $i++; 
} 

나는 이것이 끝나지 않을 것이라고 생각합니다. $projects이 있는지 확인하는 중입니다.) (당신이`위해서는 ini_set을 사용하려고 할 수있는 서버에 따라

while(isset($projects[$i])) 
.... 
+0

이것은 실제로 나를 위해 일했습니다! 고마워. 내가 검색 한 실행 시간 코드를 추가했습니다. 그 결과입니다. 이 페이지는 0.221807956696 초에 생성되었습니다. – sikas

+0

Glad to helped! – andrewsi