Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie artykulow
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
f4ngorn
Chodzi mi o taki skrypt ktory wywala text area, tam mozna wklei zawartosc nowego artykulu, on tworzy na serwerze plik php w ktorym jest czysty tekst (ew sformatowany) . budowa mojej stronki jest taka ,ze jest "szablon" a reszta jest includowana (menu, zawartosc itd). Dodatkowo zeby mial opcje edycji istniejacych plikow. Dodam ze nie chodzi mi o zadny edytor html (bylby mile widziany)

Mysle ze taki skrypt nie jest zbyt trudny ale ja jestem noga z php smile.gif Jestem w fazie nauki poczatkow. Skrypt moglbym sobie jakos potem doeedytowac, chodzi mi o to zeby redaktorzy mogli z poziomu www dodawac arty. Aha, zabezpiecznie sam sobie zrobie, mam jeden fajny skrypt do strony na haslo

edit: Chcem to zrobic bez bazy bo mam tylko jedna i chcem ja na forum przeznaczyc

kolejny edit:
Nie mogłem się powstrzymać przed napisaniem tego smile.gif Dokladnie o to mi chodzi! Niestety na web.reporter.pl zeby miec ten skrypt trzeba wykupic abonament (albo nawet tylko poczytac o nim). W kazdym badz razie chodzi mi dokladnie o cos takiego!

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

PROBLEM

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

ROZWIĄZANIE

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:
Lars
dodawanie:
dod.php
  1. <?php
  2. if(!isset($_GET['nazwa'])) {
  3. die('Musisz podac nazwe $_GET['nazwa'] !');
  4. }
  5.  
  6. if(file_exists($_GET['nazwa'])) {
  7. die('Plik <b>'.$_GET['nazwa'].'</b> juz istnieje!');
  8. }
  9.  
  10. $data=$_GET['nazwa'];
  11. touch($data);
  12. chmod($data, 0777);
  13.  
  14. echo 'Plik <b>'.$data.'</b> został utworzony!<br>
  15. <a href="edit.php?nazwa='.$data.'">Rozpocznij edycję</a>';
  16. ?>


edit.php
  1. <?php
  2. if(!isset($_GET['nazwa'])) {
  3. die('Musisz podac nazwe $_GET['nazwa'] !');
  4. }
  5.  
  6. if(!file_exists($_GET['nazwa'])) {
  7. die('Plik <b>'.$_GET['nazwa'].'</b> nie istnieje!');
  8. }
  9.  
  10. if(!isset($_POST['submit'])) {
  11. echo '<form action="edit.php?nazwa='.$_GET['nazwa'].'" 
  12.  
  13. method="post">
  14. <textarea name="txt" rows="20" cols="20">';
  15. readfile($_GET['nazwa']);
  16. echo '</textarea><br><br><input type="submit" name="submit" 
  17.  
  18. value="Zapisz"></form>';
  19. } else {
  20. $_POST['txt']=stripslashes($_POST['txt']);
  21. $file=fopen($_GET['nazwa'], 'w');
  22. flock($file, 2);
  23. fwrite($file, $_POST['txt']);
  24. flock($file, 3);
  25. fclose($file);
  26.  
  27. echo 'Plik <b>'.$_GET['nazwa'].'</b> został zmodyfikowany.<br><a 
  28.  
  29. href="edit.php?nazwa='.$_GET['nazwa'].'">Refresh</a>';
  30. }
  31. ?>


delete.php
  1. <?php
  2. if(!isset($_GET['nazwa'])) {
  3. die('Musisz podac nazwe $_GET['nazwa'] !');
  4. }
  5.  
  6. if(!file_exists($_GET['nazwa'])) {
  7. die('Plik <b>'.$_GET['nazwa'].'</b> nie istnieje!');
  8. }
  9.  
  10. unlink($_GET['nazwa']) or die('Nie mozna skasować pliku <b>'.$_GET['nazwa'].'</b>!');
  11.  
  12. echo 'Plik <b>'.$_GET['nazwa'].'</b> skasowany.';
  13. ?>


Właściwie nie wiem czy to działa - pisane na ślepo - sam przetestuj,
jeżeli coś będzie nawalac (wyskoczy error) napisz tutaj.
f4ngorn
Ok dzieki biggrin.gif Czekam jeszcze na skrypt od ikioloak'a Wielkie dzieki wam winksmiley.jpg Zaraz przetestuje skrypt i napisze swoje wrazenia

edit: eeeee... biggrin.gif Ja kaleka jestem jak juz pisalem, w tym "musisz podac nazwe" to przypadkiem niema byc nazwa edytowanego pliku? Troche nie czaje motywu. Moglbys prosto wytlumaczyc dzialanie skryptu?
Lars
wlasnie też go testuję...teraz poprawiłem edit.php - teraz dziala ok

Skrypt dziala OK
f4ngorn
Skrypt dziala w 100% smile.gif Jakby ktos byl taki genialny jak ja to:
primo - trzeba nadac katalogowi w ktorym jest skrypt chmod 777
secundo - przy skrypcie trzeba zrobic cos tkaiego - www.strona.pl/folder_skryptu/edit.php||delete.php||dod.php(jeden z plikow)?nazwa=nazwa oczekiwanego pliku. Skrypt wtedy robi plik, wyskakuje okno ze zmiana zawartosci i mozemy cieszyc sie zyciem biggrin.gif

edit: racja winksmiley.jpg
Lars
Cytat(f4ngorn @ 2005-10-29 16:45:40)
Skrypt dziala w 100% smile.gif Jakby ktos byl taki genialny jak ja to:
primo - trzeba nadac katalogowi w ktorym jest skrypt chmod 777
secundo - przy skrypcie trzeba zrobic cos tkaiego - www.strona.pl/folder_skryptu/edit.php/delete.php/dod.php?nazwa=nazwa oczekiwanego pliku. Skrypt wtedy robi plik, wyskakuje okno ze zmiana zawartosci i mozemy cieszyc sie zyciem biggrin.gif

zamien te / na lub || miedzy add.php czy delete.php bo to wygląda jak scieżka do folderu tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.