2013-05-12 4 views
1

txt (줄은 url)에서 줄을 가져 오는 스크립트를 작성하려고하면 url로 이동하여 특정 데이터를 검색하고 가져옵니다. 데이터를 잡는 데는 효과가 있지만 여러 번해야합니다. 이것은 찾아서 잘 작동하는 스 니펫입니다.PHP : 이렇게하려면 txt의 모든 행을 사용 하시겠습니까?

include(dom.txt); 
    $html = file_get_html('url here'); 
    foreach($html->find('a.live') as $e) 
    echo (''.$e->innertext.'<br />'); 

가 Heres는 필자가 지금까지 무슨 짓을하지만 난 오류 "경고 : file_get_contents (배열)"을 얻을

<?php 
    include ("dom.php"); 
    $file = fopen("urls.txt", "r"); 
    $i = 0; 
    while (!feof($file)) { 
    $line[] = fgets($file); 
    } 
    fclose($file); 
    foreach ($line as $x){ 
    $html = file_get_html("$line"); 
    foreach($html->find('a.live') as $e) 
    echo (''.$e->innertext.'<br />'); 
    } 
    ?> 

누군가 도와 주 시겠어요? :(

편집 변경 $ html로 = file_get_html ("$ 라인");와 $ html로 = file_get_html ("$의 X");하지만 결과를 덮어 여전히이 스크립트가 작동하지만 내가 생각하는 오류

편집을 얻을 그리고 마지막 결과를 표시

답변

1

이 줄 :

$html = file_get_html("$line"); 

가 assumedly해야한다 :

$html = file_get_html("$x"); 

그리고 mastergalen이 지적했듯이 $x을 따옴표로 묶을 이유가 없습니다. 그것은 아무 것도 얻지 못하며 통역사를 위해 더 많은 일을합니다.

fgets에는 반환 값에 개행 문자가 포함되므로 처리하기 전에 URL에서 잘라내야 할 수도 있습니다.

2

배열 $line을 문자열 (문자열) 만 허용하는 file_get_html 함수에 전달하고 있습니다.

배열을 반복하기 위해 foreach 루프를 설정해야합니다. 대신 file_get_html($x)을 사용하십시오.

+0

감사합니다 친구는 편집하지만 여전히 오류 경고 얻을 : file_get_contents() [function.file-get은 - 내용] : 파일 이름은 줄에 /home/a6180322/public_html/dom.php에서 비어있을 수 없습니다를 151 –

+0

수 배열의 요소가 비어 있는지 확인하기 위해 var_dump ($ line)을 수행하려고 시도합니까? – Mastergalen

+1

파일의 모든 빈 줄을 건너 뛰는 file_get_html 줄 앞에'if (empty ($ x)) continue;'를 추가하십시오. – fullybaked

-1

파일 경로를 인수로 취하고 행 배열을 반환하는 함수 file()을 사용할 수 있습니다.

<?php 
$aLines = file('/path/to/file'); 

foreach((is_array($aLines) ? $aLines : array()) as $sLine) 
{ 
     // do what you have to do 
     $html = file_get_html($sLine); 
     foreach($html->find('a.live') as $e) 
      echo (''.$e->innertext.'<br />'); 
} 
?> 
+0

치명적인 오류 : /home/a6180322/public_html/dom.php 171에있는 file_get_html() (이전에 /home/a6180322/public_html/dom.php:141에 선언되어 있음)을 재 선언 할 수 없다. –

+0

귀하의 실수는 코드의 다른 부분 - 제공 할 수 있습니까? – Wiktor

+0

일부 루프에 포함 된 파일에'include ('dom.php')'행이있을 것입니다. 'require_once()'로 변경해야한다. 파일은 한 번만 포함될 것이다. – Wiktor

관련 문제