2012-06-20 87 views
-1

我有這段代碼我的工作:打開一個HTML文件,一個div/iframe中內PHP

   while (false !== ($entry = readdir($handle))) { 
       if ($entry != "." && $entry != "..") { 
        if (strpos($entry, '.htm',1)) { 
         echo '<a href="files\\'.$entry.'">', substr($entry, 0, strrpos($entry, '.')), '</a> <br />'; 
        } 
       } 
      } 


這將打印的HTML,列出了一個鏈接的文件名格式(.html)。現在,我需要列出一個div內被打開,而不是一個新的page.So我發現這個.html文件:

<a href="#Password Reset" onclick="document.getElementById('main-text').innerHTML = '<iframe src=\'files\\IM.htm\' width=\'100%\' height=\'100%\'></iframe>'">Password Reset</a> 


這工作得很好,正是我需要的。打開iframe/div內的.html文件而不是新頁面。問題是,當我嘗試用PHP回顯此問題時,我得到的報價都很亂,我想,而且它不會停止給我errors.This是我設法用它做?

echo "<a href=\"#'.$entry.'\" onclick="document.getElementById('main-text').innerHTML = '<iframe src=\'files\\'.$entry.'\'></iframe>'">", substr($entry, 0, strrpos($entry, '.')), "</a>"; 

是否有可能得到這個工作,很抱歉我不是很有經驗的PHP,我也有檢查爲相似的職位,但沒有發現任何可以幫助我。請隨時糾正代碼的任何部分,包括原始的工作PHP代碼。

謝謝。

+0

嘗試在用戶單擊鏈接時使用ajax加載這些文件 – d4rkpr1nc3

回答

0

事情是這樣的:

echo '<a href="#'.$entry.'" onclick="document.getElementById(\'main-text\').innerHTML = \'<iframe src=\'files/'.$entry.'\'></iframe>\'">'. substr($entry, 0, strpos($entry, '.')) .'</a>'; 

在PHP字符串連接與完成。而不是,

+0

實際上,使用帶'echo'構造的逗號比使用'。'更好。串聯... http://www.electrictoolbox.com/php-echo-commas-vs-concatenation/ – BenM

+0

src = \'files'。$ entry。'\不需要額外的「/」或「\ 「指定文件夾/目錄?另外,如何在這些快速回復中標記代碼,謝謝。 – Than9000

+0

我修正了文件後的斜線。 – winya

0
echo "<a href=\"#".$entry."\" onclick=\"document.getElementById('main-text').innerHTML = <iframe src=files".$entry."></iframe>;\">". substr($entry, 0, strrpos($entry, '.')) . "</a>"; 

試試看。

+0

我已經嘗試過了,雖然我沒有從服務器得到任何PHP錯誤,但我從瀏覽器,IE7中收到'已完成,但有錯誤',所以當我點擊超鏈接時,沒有任何反應,謝謝。 – Than9000

+0

是否有一個JS控制檯的IE從哪裏你可以告訴究竟是什麼錯誤?或者可以嘗試使用Firefox,按下Control + Shift + J打開JS控制檯,然後告訴我們確切的錯誤是什麼。 – Hrishikesh