jak stworzyc system www do edycji plikow tekstowych i stron w wybranyum katalogu, PHP Skrypty


[PHP] Jak stworzyć system WWW do edycji plików tekstowych i stron w wybranym katalogu?

0x01 graphic

Chcesz tworzyć nowe pliki w wybranym katalogu, edytować je i kasować przez stronę WWW.

0x01 graphic

Jeżeli nie chcesz za każdym razem pobierać plików HTML z serwera na dysk lokalny, tu je modyfikować i ponownie wysyłać na serwer, możesz pokusić się o napisanie systemu do edycji plików na serwerze. Możesz go używać stale, lub tylko awaryjnie, gdy trzeba szybko dokonać wielu zmian w kilku plikach.

Taki system może tworzyć pliki o dowolnej nazwie, np. galeria.html czy kontakty.php oraz notatki.txt. Potem pliki te możesz edytować w polu textarea formularza i zapisywać na serwerze. Jeżeli nie będziesz już potrzebować wybranych stron, możesz je skasować, a także podglądnąć jak działają.

System pokazuje listę wszystkich plików w katalogu, które mogą być edytowane. Oczywiście oprócz pliku index.php, gdzie znajduje się nasz system. A oto zawartość pliku index.php w postaci kompletnej strony:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

<html><head><meta http-equiv="content-type"

content="text/html; charset=iso-8859-2">

<title>tytuł</title></head>

<style type="text/css"><!--

body, td, br, p, center {

font-family: arial, sans-serif; font-size: 14px;

}

--></style><body>

<table><tr><td valign=top>

Utwórz nowy plik o nazwie:

<form action="index.php" method="get">

<input type="text" name="nowy">

<br><input type="submit" value="Wykonaj">

</form>

<?

// zakladanie wskazanego pliku

$nowy=$_GET["nowy"];

if (!file_exists($nowy)) {

touch($nowy);

chmod($nowy, 0664);

} else if ($nowy<>"" && file_exists($nowy)) {

echo "Plik o podanej nazwie już istnieje!";

}

// usuwanie wskazanego pliku

$nowy=$_GET["usun"];

if ($usun<>"" && file_exists($usun)) {

unlink($usun);

}

// wypisywanie dostępnych plików

$katalog = opendir("./");

while ($plik = strtolower(readdir($katalog))) {

if ($plik<>"." && $plik<>".." && $plik<>"index.php" ) $lista[]=$plik;

}

closedir($katalog);

if (count($lista)>0) {

echo "Wybierz plik do edycji:";

sort($lista);

}

for ($i=0;$i<count($lista);$i++) {

echo "<br><a href=\"index.php?edycja=$lista[$i]\">$lista[$i]</a>";

echo " - <a href=\"index.php?usun=$lista[$i]\">usuń</a>";

echo " - <a href=\"$lista[$i]\">zobacz</a>";

}

// zmiana zawartosci pliku

$edycja = $_REQUEST["edycja"];

if (isset($_POST["tekst"]) && file_exists($edycja)) {

$f=fopen($edycja,"w");

fputs($f, stripslashes($_POST["tekst"]));

fclose($f);

}

echo "</td><td valign=top align=center>";

// umieszczenie pliku w formularzu

if ($edycja<>"" && file_exists($edycja)) {

echo "<p>Edycja pliku: <b>$edycja</b>";

echo '<form action="index.php" method="post">

<input type="hidden" name="edycja" value="'.$edycja.'">

<textarea name="tekst" rows="20" cols="50">';

$f = fopen($edycja,"r");

while(!feof($f)) echo fread($f,1024);

fclose($f);

echo '</textarea><br><input type="submit" value="Zmień"></form>';

}

?>

</td></tr></table>

</body></html>

Skrypt jest podzielony na kilka części, a kolejność ich umieszczenia nie jest przypadkowa. Katalog ze skryptem musi mieć ustawione prawa do zapisu dla wszystkich (chmod 777), ponieważ będziemy w nim zakładać pliki.

Na samej górze skryptu znajduje się formularz tworzący nowy plik. Podczas zakładania pliku funkcja file_exists() sprawdza czy plik istnieje. Jeżeli nie istnieje, jest tworzony funkcją touch() i ustawiane są dla niego prawa dostępu funkcją chmod(). Jeżeli istnieje, pojawi się komunikat, że już taki plik istnieje i nie zostanie on nadpisany.

Gdy jakiś plik zostanie wskazany do usunięcia, jest on kasowany z dysku za pomocą funkcji unlink(). Musi się to odbyć w tym miejscu, ponieważ w następnym fragmencie będziemy wypisywać dostępne pliki.

Wypisywanie plików to opisywany szeroko w innej poradzie przykład wypisania zawartości katalogu, z pominięciem pliku index.php. Przy każdym pliku dodatkowo umieściłem link do skasowania pliku (usuń) i do sprawdzenia (zobacz), jak plik działa w praktyce, a nie w edytorze. Po kliknięciu nazwy pliku zostanie on poddany edycji.

W następnym fragmencie następuje zapis danych do pliku, jeżeli został on zmodyfikowany w polu tekstowym formularza. Również musi to nastąpić przed wypisanie pliku w formularzu, aby w polu edycji zobaczyć faktyczną zawartość pliku.

Na końcu skryptu znajduje się formularz, który zawierać będzie wskazany do edycji plik. Po wprowadzeniu zmian wystarczy kliknąć na guzik Zmień, aby zmiany wprowadzić do pliku. Po zmianach, plik nadal będzie widoczny w edytorze, gdyby naszła Cię potrzeba dokonywania dalszych zmian.

Każdorazowo zmiany trzeba zatwierdzić guzikiem Zmień. Po zawierdzeniu plik zostanie zmieniony, a jego zawartość wyświetlona w edytorze.

Ten prosty szablon wystarczy wzbogacić o własny projekt graficzny oraz dostęp na hasło i może służyć do edycji wybranych plików na Twoim serwerze lub nawet do edycji plików dla wybranych użytkowników.



Wyszukiwarka

Podobne podstrony:
Jak stworzyć na stronie kalendarzyk z dniami miesiąca na dowolny rok i miesiąc, PHP Skrypty
Jak stworzyc system identyfikacji wizualnej firmy
Jak stworzyc system identyfikacji wizualnej firmy
Jak stworzyć koszyk zamówień do sklepu internetowego z wykorzystaniem cookies, PHP Skrypty
Jak stworzyć system komentarzy pod newsami, artykułami lub zdjęciami?z użycia?zy?nych
Jak stworzyc system identyfikacji wizualnej firmy
Jak wypisać w tabeli zawartość pliku tekstowego z polami oddzielonymi separatorem, PHP Skrypty
Jak zapisywać do pliku numery IP osób odwiedzających stronę, PHP Skrypty
Jak zrobić stronę dostępną na hasło tylko dla wybranych użytkowników, PHP Skrypty
Jak sprawdzić czy dwa wyrazy są dla siebie anagramami (są permutacją, PHP Skrypty
Jak w bazie danych skasować automatycznie rekordy starsze niż np. 30 dni, PHP Skrypty
Jak zamienić numer IP na domenę lub domenę na numer IP, PHP Skrypty
Jak zrobić stronę dostępną na hasło tylko dla wybranych użytkowników, PHP Skrypty
Jak stworzyć formularz, który zapisze?ne do pliku tekstowego,?y potem jego zawartość dołączyć
Jak stworzyć prostą wyszukiwarkę dla własnych stron WWW, PHP Skrypty
Jak wyświetlić zawartość katalogu jako linki służące do pobrania plików, PHP Skrypty
Jak stworzyć własną stronę WWW
jak przeslac dane z pol tekstowych do innych stron, PHP Skrypty

więcej podobnych podstron