2012-06-20 1 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) с ссылкой. Теперь мне нужны .html файлы, которые перечислены быть открыты внутри DIV, а не новый page.So я нашел это:

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


Это работает только отлично, именно то, что мне нужно. Открывает .html-файл внутри iframe/div, а не новую страницу. Проблема проблема есть, когда я пытаюсь повторить это с помощью 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

Смежные вопросы