Witam

Mam prosbe o pomoc w rozbudowie tego skryptu ktorego krotki opis przedstawiam ponizej:


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 potrzeba dokonywania dalszych zmian.

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

O co mi chodzi :roll2:

A mianowicie:

1. Wszystko jest fajnie można wyświetlać w polu tekstowym formularza, ale jest pewien problem!
Jeśli wyświetle zawartość pliku *.php z kodem php to w polu tekstowym formularza wyświetli sie kod php.

A mi chodzi o to żeby w tym polu... textarea wyświetlić wynik działania skryptu który znajduję sie w podglądamym aktualnie pliku.

2. Pod polem txt formularza w którym wyświetlamy zawartość plików danego katalogu zamiast zwykłego buttona Zamień chciałbym aby bylo:
button i pole formularza coś a'la Save as...
Zeby wynik jakiegos skryptu można było zapisać pod inną nazwą niz plik z kodem.

3. W skrocie:
Chodzi o to ze w jednym pliku mam kod i wyswietlam wynik dzialania tego
skryptu w textarea nastepnie ten wynik zapisuje do innego pliku.

Mam nadzieje że wszystko porządnie opisałem i ktoś mi pomoże.
Z góry serdecznie dziękuje.
Pozdrawiam
Damian


  1. <!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">
  2. <html><head><meta http-equiv=\"content-type\" 
  3. content=\"text/html; charset=iso-8859-2\">
  4. <title>tytuł</title></head>
  5. <style type=\"text/css\"><!--
  6. body, td, br, p, center { 
  7.   font-family: arial, sans-serif; font-size: 14px;
  8. }
  9. --></style><body>
  10.  
  11.  
  12. <table><tr><td valign=top>
  13.  
  14. Utwórz nowy plik o nazwie:
  15. <form action=\"index.php\" method=\"get\">
  16. <input type=\"text\" name=\"nowy\">
  17. <br><input type=\"submit\" value=\"Wykonaj\">
  18. </form>
  19.  
  20. <?
  21. // zakladanie wskazanego pliku
  22. $nowy=$_GET[&#092;"nowy\"];
  23. if (!file_exists($nowy)) {
  24.   touch($nowy);
  25.   chmod($nowy, 0664);
  26. } else if ($nowy<>&#092;"\" && file_exists($nowy)) {
  27.   echo &#092;"Plik o podanej nazwie już istnieje!\";
  28. }
  29.  
  30. // usuwanie wskazanego pliku
  31. $nowy=$_GET[&#092;"usun\"];
  32. if ($usun<>&#092;"\" && file_exists($usun)) {
  33.   unlink($usun);
  34. }
  35.  
  36. // wypisywanie dostępnych plików
  37. $katalog = opendir(&#092;"./\");
  38. while ($plik = strtolower(readdir($katalog))) {
  39.   if ($plik<>&#092;".\" && $plik<>\"..\" && $plik<>\"index.php\" ) $lista[]=$plik;
  40. } 
  41. closedir($katalog);
  42. if (count($lista)>0) { 
  43.   echo &#092;"Wybierz plik do edycji:\";
  44.   sort($lista);
  45. }
  46. for ($i=0;$i<count($lista);$i++) {
  47.   echo &#092;"<br><a href=\"index.php?edycja=$lista[$i]\\">$lista[$i]</a>\";
  48.   echo &#092;" - <a href=\"index.php?usun=$lista[$i]\\">usuń</a>\";
  49.   echo &#092;" - <a href=\"$lista[$i]\\">zobacz</a>\";
  50. }
  51.  
  52.  
  53. // zmiana zawartosci pliku
  54. $edycja = $_REQUEST[&#092;"edycja\"];
  55. if (isset($_POST[&#092;"tekst\"]) && file_exists($edycja)) {
  56.   $f=fopen($edycja,&#092;"w\");
  57.   fputs($f, stripslashes($_POST[&#092;"tekst\"]));
  58.   fclose($f);
  59. }
  60.  
  61. echo &#092;"</td><td valign=top align=center>\";
  62.  
  63. // umieszczenie pliku w formularzu
  64. if ($edycja<>&#092;"\" && file_exists($edycja)) {
  65.   echo &#092;"<p>Edycja pliku: <b>$edycja</b>\";
  66.   echo '<form action=\"index.php\" method=\"post\">
  67.   <input type=\"hidden\" name=\"edycja\" value=\"'.$edycja.'\">
  68.   <textarea name=\"tekst\" rows=\"20\" cols=\"50\">';
  69.   $f = fopen($edycja,&#092;"r\");
  70.   while(!feof($f)) echo fread($f,1024);
  71.   fclose($f);
  72.   echo '</textarea><br><input type=\"submit\" value=\"Zmień\"></form>';
  73. }
  74. ?>
  75.  
  76. </td></tr></table>
  77.  
  78. </body></html>