2012-06-20 39 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