У меня есть страница editor.php, которая получает имя файла с другой страницы и загружает его в редактор codemirror. Моя проблема в том, что он работает только с .txt-файлами, но не работает с .html или .java-файлами.Почему файл_get_contents не работает с файлами html?
<?php
$login=$_COOKIE['login'];
$directory = "userFiles/" . $login . "/";
$filename = isset($_POST['files']) ? $_POST['files'] : false;
$content = @file_get_contents($directory.$filename);
?>
<!DOCTYPE html>
<html>
<head>
<title>Editor</title>
<script src='codemirror/lib/codemirror.js'></script>
<script src='codemirror/mode/css/css.js'></script>
<script src='codemirror/mode/htmlmixed/htmlmixed.js'></script>
<link rel='stylesheet' href='codemirror/lib/codemirror.css'>
<style>
.CodeMirror {
width: 100%;
height: 85%;
}
</style>
</head>
<body>
<textarea id="code" name="code" autofocus></textarea>
<button class="button" id="save">Save</button>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById('code'), {
mode: 'text/html',
tabMode: 'indent',
lineNumbers: true,
lineWrapping: true,
autoCloseTags: true
});
editor.setValue("<?php echo $content;?>"+);
</script>
</body>
</html>
Оставив в покое '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' Это обязательно провалится с чем-либо с цитатой в нем, так как это приведет к неправильному JavaScript. Используйте 'editor.setValue ( Php echo json_encode ($ content);?>"); 'Для правильного создания строки, которую вы можете передать JavaScript. – Amadan
@Amadan Это работает. Спасибо за объяснение и решение. – zeee9
Вы должны проверить запрашиваемый файл, иначе можно прочитать любой файл. – Gumbo