HTML редактор на PHP
Практический каждый веб мастер, у которого есть свой сайт, постоянно что-то меняет на своих страницах , дописывает новости, добавляет статьи и прочее. Некоторые хостинг-компании предоставляют своим клиентам удобные панели управления хостингом (CPanel, DirectAdmin и пр.), почти все компании, которые предоставляют бесплатный хостинг, также дают текстовые HTML редакторы.
Эта статья для обделенных людей или просто тех, кому лень каждый раз заходить в панель управления хостингом и что-то править от туда. В этой статье я приведу код простенького скрипта HTML редактора, с помощью которого вы сможете редактировать файлы на своем сервере.
Вся идея состоит в том, чтобы прочитать указанную папку, вывести список файлов и папок на экран в виде ссылок на скрипт, который будет выводить содержимое редактируемого файла(весь HTML код странички) на экран, а оттуда вы будете редактировать файл и сохранять измененный файл. Скрипт, отображающий содержимое папок и редактор .html файлов
//Скрипт редактирования файлов и "хождения" по директориям
function read_folder($path_to_folder, $root_folder)
{
$error=0;
//Открываем папку, которую нужно прочитать
@$dir = opendir($path_to_folder);
//если это папка
if($dir){
//то читаем ее
while ($file = readdir($dir)) {
// Выводим содержимое папки на экран
echo "<a href=\"index.php?folder=".$root_folder.$file."\" target=\"_blank\">".$file."</a>
";
}
}
else
{
$error=1;
}
return $error;
}
//Корневая папка относительно скрипта HTML редактора
$root_folder="../";
$folder="";
$i=0;
@$folder=$_GET['folder'];
if(!$folder) {$folder=$root_folder;}
$what=read_folder($folder, $root_folder);
//Если указанный путь является файлом, то выводим его на экран
if($what==1){
?>
<form action="save.php" method="post">
<hr size="1">
Сохранить как: <input type="text" name="filename" value="">
<center><input type="Submit" value="Сохранить"></center>
//Вывод HTML кода на экран для дальнейшего его редактирования
<textarea name="content" cols="120" rows="30">
$content=file($folder);
$count=count($content);
while($i<$count)
{
print $content[$i];
$i++;
}
$folder=ereg_replace("../","",$folder);
?>
</textarea>
Скрипт сохранения файла
//Обязательно назовите этот файл save.php!!
@$file_name=$_POST['filename'];
@$file_content=$_POST['content'];
if($file_name && $file_content)
{
$file=fopen($file_name,"w");
fwrite($file,$file_content);
fclose($file);
}
?>