2012-10-30 2 views
0

원격 Linux 서버에있는 2 개의 .txt 파일의 정보로 채워지는 테이블을 가진 HTML 페이지를 만들고 싶습니다. 또는 그 2 .txt 파일에서 동일한 정보로 원격 서버에 html 페이지를 채운 다음 apache의 웹 서버를 사용하여 해당 html 페이지에 액세스하십시오. 가능한 기본으로원격 파일로 Html 테이블 채우기

것이 좋을 것이다하지만이 정직

HTML

함께 할 수 복잡하면 나는 전혀 도움이 좋을 것이다 이해할 수있다.

+0

당신은 당신의 텍스트 파일을 읽고 테이블에 내용을 출력 할 PHP 파일이 필요합니다. 텍스트 파일은 어떻게 포맷되고 최종 결과는 무엇입니까? – burmat

+0

HTML은 아무 것도 할 수 없으며 HTML은 시각적 인 형식입니다. – theredled

답변

1

개인적으로 PHP에서 처리합니다. 파일을 읽고 echo 테이블에 넣을 수 있습니다. 그런 다음 파일의 행을 원하는대로 사용할 수 있습니다. 각 단계를 설명하는 데 의견을 달았습니다. 텍스트 파일을 가리 키도록 $filepath을 변경하면됩니다.

편집 됨 : OG 포스터에서 언급 한 제약 조건을 주석에 추가하는 코드를 편집했습니다. 이 당신의 작업을 수행하는 더 최적화 방법은 아마도,하지만이 작동하고 당신은 내가 대신 라인으로 라인을 설명하기 위해 최선을 다하겠습니다 PHP

<?php 
    $filepath = 'files/the_file.txt'; 
    if (file_exists($filepath)) { 
     $file = fopen($filepath, 'r'); 
     echo '<table border=1>'; 
     while (!feof($file)) { 
      $line = fgets($file); 
      $first_char = $line[0]; 
      if ($first_char != '*' && $first_char != '^' && trim($line) != '') { 
       if (strstr($line, '|')) { 
        $split = explode('|', $line); 
        echo '<tr>'; 
        foreach($split as $line) { 
         echo '<td>'.$line.'</td>'; 
        } 
        echo '</tr>'; 
       } else { 
        echo '<tr><td>'.$line.'</td></tr>'; 
       } 
      } 
     } 
     echo '</table>'; 
    } else { 
     echo 'the file does not exist'; 
    } 
?> 

를 처음 사용하는 경우에 몇 가지 새로운 개념을 도입한다 주석이있는 전대 홍수 :

  1. 파일이 존재하는 경우, 계속
  2. 을 파일 경로를 설정합니다. 그렇지 않은 경우,
  3. 파일
  4. 테이블을 생성을 열고 스크립트의 아래쪽에있는 오류가 발생 ('<table>')
  5. 텍스트 파일을 읽을되는 동안 사물의 일련의 작업을 수행합니다 첫째, 수 선. 줄의 첫 번째 문자가 * 또는 ^이거나 줄이 잘리지 않으면 문자가 없으므로 완전히 건너 뜁니다. 그렇지 않으면 행에 |가 있으면
  6. 으로 계속하십시오. 문자, split (explode) 모든 줄 | 문자. 이 분할 된 내용의 배열을 사용하고 각 내용에 대해 echo 현재 내용이있는 기존 행의 새 열을 출력합니다.그렇지 않으면 | 발견 당신은 행 일반적으로
  7. 당신이 테이블을 종료까지 완료되면
  8. ('</table>')

편집 # 2로 라인을 에코 단지 수 있습니다 내가 게시 한 원액 :

<?php 
    $filepath = '/var/www/files/the_file.txt'; 
    if (file_exists($filepath)) { 
     $file = fopen($filepath, 'r'); 
     echo '<table border=1>'; 
     while (!feof($file)) { 
      $line = fgets($file); 
      echo '<tr><td>'.$line.'</td></tr>'; 
     } 
     echo '</table>'; 
    } else { 
     echo 'the file does not exist'; 
    } 
?> 
+0

거의 완벽하게 작동합니다. 무시할 수있는 방법이 있습니다. 줄이 * 또는 ^로 시작하고 줄을 찾을 때 줄을 나눕니다. ? –

+0

@FateAverie "Split the line"이라고 말하면 "|"뒤에 모든 것을 넣으려고합니까? 다른 행이나 다른 탭 셀 (행)에 있습니까? – burmat

+0

같은 행에 다른 셀이 있지만 빈 줄 문제도 추가되고 있습니다. 줄을 지우는 방법은 비어 있거나 공백/들여 쓰기가 있습니다 –

0

HTML은 아무 것도 할 수 없으며, HTML은 프리젠 테이션 형식입니다. 다음, 서버가이 개 원격 파일과 출력을 웹 페이지에 조립 된 html 파일을 호출하는 클라이언트로 전송 :

  • PHP를 :

    PHP, 자바 스크립트는, BASH는 매우 다른 방식으로 일을 할 수

  • 자바 스크립트 : 페이지 자체가 2 개의 파일을 호출하고 그 자체를 추가합니다.

  • Bash + CURL : BASH (또는 PHP, Python ...) 스크립트는 2 개의 파일 데이터를 포함하는 .html 파일을 생성합니다.
+0

은 의미가 있습니다. html로 코드를 작성하려고하지 않았지만, 그 코드를 실행할 수있는 것을 찾고 있었지만, PHP를 대신 사용할 것입니다. –

0

HTML 중 하나를 동적으로 작성하기보다는 다시 작성할 수 있다면이 중 하나가 도움이 될 수 있습니다. 이 스크립트는 입력 및 출력 HTML 테이블로 CSV을 : 내가 말할 것

http://stromberg.dnsalias.org/svn/to-table/

http://stromberg.dnsalias.org/svn/to-table2/

+0

나는 가지고 있습니다. HTML 테이블 템플릿을 미리 만든 다음 부분적으로 채워진 빈 셀을 사용하여 전체 테이블 (수정 행 및 열 포함)을 표시해야합니다. HTML 파일의 각 셀에 자리 표시자를 사용하고 자리 표시자를 파일에서 실제 데이터 (찾기 및 바꾸기)로 바꾸려고했습니다. 이것은 나에게 최적의 접근 방법이 아닌 것처럼 보인다. 제안 요청. – user3055262