Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Edycja plików php przez skrypt php
buliq
post
Post #1





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/party.gif)

Ten post edytował buliq 26.08.2009, 11:33:34
Go to the top of the page
+Quote Post
krowal
post
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


Ale, że o co się rozchodzi ? (IMG:style_emoticons/default/smile.gif)
Otwierasz plik -> wrzucasz do textarea -> wysyłasz formularz, zapisujesz plik. W czym problem ?
Go to the top of the page
+Quote Post
buliq
post
Post #3





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
krowal
post
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
buliq
post
Post #5





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Dobra wysiliłem się i działa (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/questionmark.gif) cały plik w ten sposób oprawiony się psuje
Go to the top of the page
+Quote Post
krowal
post
Post #6





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
TrevorGryffits
post
Post #7





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


Poczytaj czym są magic_quotes, czemu nie powinno się ich już używać i jak je wyłączyć.
Go to the top of the page
+Quote Post
buliq
post
Post #8





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


no niestety ale nie mam włączonych Magic Quotes
Go to the top of the page
+Quote Post
krowal
post
Post #9





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


Robisz $('#editfile').serialize() i to pewnie escapuje ci ciapki i slashe. Zmień sposób przesyłania zmiennych ajaxem.
Go to the top of the page
+Quote Post
buliq
post
Post #10





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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

Ten post edytował buliq 26.08.2009, 11:32:28
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 01:15