2012-10-30 57 views
0

我想創建一個HTML頁面,該頁面將具有一個表格,該表格將使用來自遠程Linux服務器上的2個.txt文件的信息填充本身。 或使用與這兩個.txt文件相同的信息在該遠程服務器上填充一個html頁面,然後使用apache的web服務器訪問該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. 如果該行包含|字符,分割(explode)所有的|行字符。使用這個拆分內容數組和每個內容片段,echo用當前內容在現有行中創建一個新列。否則,沒有|發現你可以只回聲行成一排正常
  7. 一旦你完成了,結束表(「</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當你說「拆分線」時,你是否打算把「|」在另一行或另一個標籤單元格(行)? – burmat

+0

在同一行中的另一個單元格,但我也有一個問題與空白行正在被添加以及,有沒有辦法擺脫行是空白或只有空格/ indents –

0

HTML無法做任何事情,HTML是一種演示文稿格式。

PHP,JavaScript中,BASH可以做的工作有很大不同:

  • PHP:服務器調用2個遠程文件和輸出的組合的HTML文件進入一個網頁,然後將其發送給客戶端

  • Javascript:頁面本身調用2個文件並將其自身添加。

  • Bash + CURL:BASH(或PHP,Python ...)腳本創建一個包含2個文件數據的.html文件。
+0

是有道理的,我沒有期望在html中編寫代碼我只是在尋找可以在其中運行的東西,但我想我將使用PHP而不是 –

0

其中一個可能會幫助你,如果你可以預先創建HTML而不是動態地做它。這些腳本採用CSV作爲輸入和輸出的HTML表:

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

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

+0

我有一個預先創建的HTML表格模板,我需要顯示整個表格(修復行和列),甚至在空單元格被部分填充時也是如此。我試圖在HTML文件的每個單元格中使用佔位符,並用文件中的實際數據(查找和替換)替換佔位符。這在我看來並不是最佳方法。請求建議。 – user3055262