Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edycja plików php przez skrypt php
Forum PHP.pl > Forum > PHP
buliq
Witam!

Mam problem. Otóż tworzę CMS wszystko pięknie ładnie działa ale postanowiłem wbudować tam możliwość edycji plików online bez wchodzenia na ftp itp. W przypadku plików tpl nie ma problemu ale jak edytuję pliki php nie działa :/ Pomyślałem sobie że pewnie dlatego że jak przesyłam treść tego pliku POST'em to wykonuje się od razu jakieś działanie to zastapiłem znaczniki <?php ?> aby skrypt się nie wykonywał. I działa ale tylko do momentu jak chcę zapisać zmodyfikowany plik ...

Ma ktoś jakiś pomysł żeby modyfikować pliki php przez skrypt php?
  1. kod usunięty


ps wiem że można to dć w jednym echo ale nie chciało mi się od nowa pisać to skopiowałem z innego skryptu party.gif
krowal
Ale, że o co się rozchodzi ? smile.gif
Otwierasz plik -> wrzucasz do textarea -> wysyłasz formularz, zapisujesz plik. W czym problem ?
buliq
w tym problem że plik jest plikiem php! zaczyna się wykonywać w którymś momencie to zastąpiłem <?php <php> ale przy próbie zapisu dalej się wykonuje
krowal
Zrobiłem na szybko mały test, dwa pliki:
file.php:
  1. <?php
  2. echo 'jestem plikiem php i co z tego :)';
  3. ?>


edit.php:
  1. <?php
  2. if (isset($_POST['content'])){
  3. file_put_contents('file.php', $_POST['content']);
  4. }
  5. $content = file_get_contents('file.php');
  6. ?>
  7. <form action="edit.php" method="post">
  8. <textarea name="content"><?php echo $content; ?></textarea>
  9. <input type="submit" />
  10. </form>


no i jakoś działa smile.gif
buliq
Dobra wysiliłem się i działa guitar.gif

Chodziło o to że jak otwierałem plik to nie wskazywałem jaki bo ten fragment kodu był niżej ...

Teraz innym problem. powiedzcie mi czemu mi dodaje backslashe przy cudzysłowu i apostrofie questionmark.gif cały plik w ten sposób oprawiony się psuje
krowal
Być może masz włączone magic_quotes. Tu masz info jak to wyłączyć http://pl2.php.net/manual/en/security.magi...s.disabling.php
TrevorGryffits
Poczytaj czym są magic_quotes, czemu nie powinno się ich już używać i jak je wyłączyć.
buliq
no niestety ale nie mam włączonych Magic Quotes
krowal
Robisz $('#editfile').serialize() i to pewnie escapuje ci ciapki i slashe. Zmień sposób przesyłania zmiennych ajaxem.
buliq
slashe dodaje mi w php przepuściłem działania przez firebug'a i w poście nie ma backslashy a w php wyświetla już z nimi


Edit:

Szczerze wątpiłem że zadziała ale zadziałała funkcja stripslashes();

Dzięki all za help
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-2025 Invision Power Services, Inc.