Редакция на код от файл с преглед

Панела в ляво е textarea, където пишеш примерния HTML код. Панела в дясно е div, който обновяваш със съдържанието на textarea-та, при натискане на бутона:

HTML:
<textarea id="html_code"></textarea>
<input type="button" value="Update" onclick="document.getElementById('preview').innerHTML = document.getElementById('html_code').value;" />
<div id="preview"></div>
 
Искам да има някакъв default код който да се зарежда от файл.
Примерно имам текстов файл headings.txt и при зареждане на
codepreview.php?filename=headings да отваря кода от файла headings.txt и да го зарежда в Textarea
 
PHP:
if(!empty($_GET['filename'])){
    $content = file_get_contents($_GET['filename'].'.txt');
}

HTML:
<textarea id="html_code"><?php echo $content; ?></textarea>
<input type="button" value="Update" onclick="document.getElementById('preview').innerHTML = document.getElementById('html_code').value;" />
<div id="preview"></div>

Хубаво е обаче, да ограничиш зареждането на файлове от конкретна директория, да не стане така, че да ти прочетат файлове, които не са за показване.
 
Благодаря много, точно това ми трябваше само да попитам как да огранича отварянето на файлове да става само от папката txt примерно?И да попитам нали няма опасност ако се пише php код?
 
BorislawBotew каза:
Благодаря много, точно това ми трябваше само да попитам как да огранича отварянето на файлове да става само от папката txt примерно?

Можеш да направиш поне една проверка и да зареждаш от определена директория. Така РНР ще търси да прочете файл само от конкретната директория, а не в целия include_path.

PHP:
if(!empty($_GET['filename'])){
    if(file_exists('txt/'.$_GET['filename'].'.txt')){
        $content = file_get_contents('txt/'.$_GET['filename'].'.txt');
    }
}

BorislawBotew каза:
И да попитам нали няма опасност ако се пише php код?
Ти хубаво ще пишеш РНР код в textarea-та, но какво ще показваш в preview панела? Изхода от изпълнението на този РНР код? Това вече може да е проблем и кода който ти дадох ще претърпи промени. За всеки ТХТ файл, трябва да имаш и по един РНР файл някъде на сървъра. Като се натисне бутона, правиш Ajax заявка към съответния РНР файл и му взимаш изхода. Без да те интересува какво въобще има в тази textarea, не трябва да използваш кода от там, а само твоя код от твоя РНР файл някъде на твоя сървър.
 

Back
Горе