Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Edycja plików .html , .txt , przez przeglądarkę
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
rashas
Witam,poszukuję skrypty który umożliwi edytowanie plików na serwerze poprzez skrypt php,czyli :
Wchodzę sobie na stronę : www.jakasstrona.pl/admin/edytuj.php , wybieram plik i wyskakuje mi pole z zawartością pliku,edytuję i klikam SUBMIT,winksmiley.jpg

Z góry dziękuje winksmiley.jpg
sebekzosw
  1. <?php
  2. $katalog = opendir("./");
  3. while ($plik = strtolower(readdir($katalog))) {
  4.    if ($plik<>"." && $plik<>".." && $plik<>"edytuj.php" ) $lista[]=$plik;
  5. }
  6. closedir($katalog);
  7. if (count($lista)>0) {
  8.     echo "Wybierz plik do edycj:";
  9.    sort($lista);
  10. }
  11.  
  12. for ($i=0;$i<count($lista);$i++) {
  13.    echo "<br />Edytuj plik <b>$lista[$i]</b> <a href=\"edytuj.php?edycja=$lista[$i]\">Edytuj plik</a>";
  14. }
  15.  
  16.  
  17. // zmiana zawartosci pliku
  18. $edycja = $_REQUEST["edycja"];
  19. if (isset($_POST["tekst"]) && file_exists($edycja)) {
  20.     $f = fopen($edycja, "w");
  21.    fputs($f, stripslashes($_POST["tekst"]));
  22.    fclose($f);
  23. }
  24.  
  25.  
  26.  
  27. // umieszczenie pliku w formularzu
  28. if ($edycja<>"" && file_exists($edycja)) {
  29.     echo "<p> </p>Edycja plik: <b>$edycja</b>";
  30.     echo '<form action="edytuj.php" method="post"><input type="hidden" name="edycja" value="'.$edycja.'" /><textarea name="tekst" rows="20" cols="50">';
  31.     $f = fopen($edycja,"r");
  32.     while(!feof($f)) echo fread($f,1024);
  33.     fclose($f);
  34.     echo '</textarea><input type="submit" value="Zapisz" /></form>';
  35. }
  36. ?>


Proszę ;p

  1. <?php
  2. $katalog = opendir("./");
  3. while ($plik = strtolower(readdir($katalog))) {
  4.    if ($plik<>"." && $plik<>".." && $plik<>"edytuj.php" ) $lista[]=$plik;
  5. }
  6. closedir($katalog);
  7. if (count($lista)>0) {
  8.     echo "Wybierz plik do edycj:";
  9.    sort($lista);
  10. }
  11.  
  12. for ($i=0;$i<count($lista);$i++) {
  13.    echo "<br />Edytuj plik <b>$lista[$i]</b> <a href=\"edytuj.php?edycja=$lista[$i]\">Edytuj plik</a>";
  14. }
  15.  
  16.  
  17. // zmiana zawartosci pliku
  18. $edycja = $_REQUEST["edycja"];
  19. if (isset($_POST["tekst"]) && file_exists($edycja)) {
  20.     $f = fopen($edycja, "w");
  21.    fputs($f, stripslashes($_POST["tekst"]));
  22.    fclose($f);
  23. }
  24.  
  25.  
  26.  
  27. // umieszczenie pliku w formularzu
  28. if ($edycja<>"" && file_exists($edycja)) {
  29.     echo "<p> </p>Edycja plik: <b>$edycja</b>";
  30.     echo '<form action="edytuj.php" method="post"><input type="hidden" name="edycja" value="'.$edycja.'" /><textarea name="tekst" rows="20" cols="50">';
  31.     $f = fopen($edycja,"r");
  32.     while(!feof($f)) echo fread($f,1024);
  33.     fclose($f);
  34.     echo '</textarea><input type="submit" value="Zapisz" /></form>';
  35. }
  36. ?>


Proszę ;p
rashas
Dzięki ! wszystko działa,poprawnie !;)
btw. coś ci podwójnie wyszło biggrin.gif
btw. mam jescze jedno pytanie : jak zrobić by nie pokazywało folderów ;p i plików wybranych przezemnie?;p
harleyzbro
Witajcie koledzy. Proszę pomóżcie sciana.gif . wykorzystałem powyższy skrypt na stronie i nie chce zadziałać. Konkretnie:lista z plikami do edycji ładuje się, ale po kliknięciu wybranego pliku kompletnie nic się nie dzieje. Nie ukazuje się formularz. Proszę o pomoc. Może coś przeoczyłem w kodzie.
Dzięki z góry.
erix
A może więcej szczegółów? Mam wrażenie, że gdzieś popełniłeś błąd w składni, ale podałeś za mało danych.
harleyzbro
więc tak, na samym początku dokumentu:
<?php
$katalog = opendir("./"); - tu w nawiasach wpisałem ścieżkę z której ma czytać("page/")
,
następnie w miejscach gdze byłu "edytuj.php" wpisałem nazwe swojego dokumentu czyli plik1.php

I to tyle. Może czegoś do końca nie zrozumiałem. Szukałem sporo. Chyba tydzień. Na necie i wogóle i nic.
Dzięki z góry za pomoc, pozdro
harleyzbro

Jeszcze raz proszę o pomoc. Dalej nie mogę uporać się z tym kodem. Pozdrawiam forumowiczów php.pl. worriedsmiley.gif
benek1993r
Witam,

Jak pod ten skrypt podczepić hasło? Chodzi mi o to aby można było oglądać i zapisywać zmiany po podaniu hasła



Pozdrawiam
Patrixer
Dokopałem się do tego skryptu, myślę, że mniej więcej by mi pomogło, niestety nie chce mi to działać.
Wszystko zapisane w pliku panel.php
Kod wygląda tak:
  1. <?php
  2. $katalog = opendir("included/");
  3. while ($plik = strtolower(readdir($katalog))) {
  4. if ($plik<>"." && $plik<>".." && $plik<>"panel.php" ) $lista[]=$plik;
  5. }
  6. closedir($katalog);
  7. if (count($lista)>0) {
  8. echo "Wybierz plik do edycj:";
  9. sort($lista);
  10. }
  11.  
  12. for ($i=0;$i<count($lista);$i++) {
  13. echo "<br />Edytuj plik <b>$lista[$i]</b> <a href=\"panel.php?edycja=$lista[$i]\">Edytuj plik</a>";
  14. }
  15.  
  16.  
  17. // zmiana zawartosci pliku
  18. $edycja = $_REQUEST["edycja"];
  19. if (isset($_POST["tekst"]) && file_exists($edycja)) {
  20. $f = fopen($edycja, "w");
  21. fputs($f, stripslashes($_POST["tekst"]));
  22. fclose($f);
  23. }
  24.  
  25.  
  26.  
  27. // umieszczenie pliku w formularzu
  28. if ($edycja<>"" && file_exists($edycja)) {
  29. echo "<p> </p>Edycja plik: <b>$edycja</b>";
  30. echo '<form action="panel.php" method="post"><input type="hidden" name="edycja" value="'.$edycja.'" /><textarea name="tekst" rows="20" cols="50">';
  31. $f = fopen($edycja,"r");
  32. while(!feof($f)) echo fread($f,1024);
  33. fclose($f);
  34. echo '</textarea><input type="submit" value="Zapisz" /></form>';
  35. }
  36. ?>


Wyświetlają mi się pliki z podanego katalogu ale nie wyświetla się textarea, jak klikam w edytuj plik strona się jakby odświeża.
Jakieś rady ?

@edit
rozwiązane. W linijce 13stej:
  1. echo "<br />Edytuj plik <b>$lista[$i]</b> <a href=\"panel.php?edycja=$lista[$i]\">Edytuj plik</a>";

należy dodać również ścieżke do pliku:
  1. echo "<br />Edytuj plik <b>$lista[$i]</b> <a href=\"panel.php?edycja=included/$lista[$i]\">Edytuj plik</a>";
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.