Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Instalacja kodu do pliku
MESSIAH :)
post 16.11.2019, 13:15:58
Post #1





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Szukam jakiegos malego gotowego kodu ktory by instalowal kod pomiedzy kodem w pliku:
Dokladnie to tak to ma wygladac. Otwieram plik php i szukam w nim kodu np:
  1. $a = 34

I teraz dodaje nowa linie:
  1. $a = 34
  2. $b = 35

Chcialbym tez miec jakas kontrole nad tym i np w przyszlosci wymazac dana linie z tego pliku bez wzgledu na kolejnosc usuwania.
Probowalem szukac pod nazwa
Cytat
php install code into file

lecz bez efektu.


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 16.11.2019, 17:06:29
Post #2





Grupa: Zarejestrowani
Postów: 1 828
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


W wielu edytorach jest coś takiego: CTRL + F (H)
Znajdź "ABC" zamień na "ABC\nCBA", zamień w całym pliku/zamień we wszystkich plikach.
Go to the top of the page
+Quote Post
MESSIAH :)
post 16.11.2019, 21:56:22
Post #3





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Cytat(Tomplus @ 16.11.2019, 17:06:29 ) *
W wielu edytorach jest coś takiego: CTRL + F (H)
Znajdź "ABC" zamień na "ABC\nCBA", zamień w całym pliku/zamień we wszystkich plikach.

facepalmxd.gif
Szanowny kolego to to male dziecko wie. Mi chodzi o cos takiego:
Mam plik php ktory otwiera inne pliki php i dodaje kod zdefiniowany z poprzedniego pliku. Taki instalator kodu php napisany w php.
Mam szkielety plikow gdzie chce dodawac nowe kody. I z czasem chce je w calosci usunac lub zastapic nowymi wersjami.


--------------------
Go to the top of the page
+Quote Post
batman
post 17.11.2019, 01:20:10
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




sed. Odpalasz to przy pomocy exec i problem z głowy.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
MESSIAH :)
post 20.11.2019, 02:32:47
Post #5





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Cytat(batman @ 17.11.2019, 01:20:10 ) *
sed. Odpalasz to przy pomocy exec i problem z głowy.

To ma byc w jezyku php a nie unix. Chce aby instalacja odbywala sie z pliku zip lub cos w ten desen.

Ten post edytował MESSIAH :) 20.11.2019, 02:34:08


--------------------
Go to the top of the page
+Quote Post
batman
post 24.11.2019, 22:46:00
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




W php wyglądałoby to tak:
- zapisz zawartość pliku do zmiennej (np. przy użyciu file_get_contents)
- użyj str_replace (lub preg_replace, jeśli część szukanej linii jest zmienna)
- zapisz zawartość zmodyfikowanej zmiennej do pliku

Jeśli plik, który chcesz zmodyfikować jest duży, użyj funkcji file i w pętli leć po odczytanych liniach i wstaw nową linię w miejscu, które Ci odpowiada.

edit
Jest jeszcze trzecia możliwość. Wszystkie pliki, które chcesz modyfikować trzymaj jako szablony (możesz użyć, np. Twig). W momencie, gdy chcesz zmodyfikować plik, wyciągasz wszystkie potrzebne dane, przekazujesz je do szablonu i generujesz plik, którym nadpisujesz już istniejący.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
MESSIAH :)
post 28.11.2019, 18:37:51
Post #7





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Ja myslalem bardziej o czyms taki:
1 - Wypakuj plik do temp folder
2 - Otworz wypakowany plik i zapisz wartosc do zmiennej
3 - Otworz docelowy plik ktory ma byc zmieniony i wyszukaj kodu
4 - Dodaj nowy kod po lub przed wyszukanym kodem
5 - Zapisz zmieniony plik
6 - Usun temp folder.

Tylko jak wyszukiwac linie aby instalowac nowy kod a w przyszlosci go usuwac?


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 28.11.2019, 19:03:39
Post #8





Grupa: Zarejestrowani
Postów: 1 828
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


w PHP też jest funkcja exec()

Ale jak już. Spójrz na kod np. Simple Machine Forum, tam pobierając paczkę możesz zainstalować, tak że nie które pluginy wstrzykują kod w konkretne miejsca, z opcją zwrotną.
Go to the top of the page
+Quote Post
batman
post 29.11.2019, 02:43:11
Post #9





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




  1. <?php
  2.  
  3. // zawartosc pliku
  4. $file = '<?php
  5. $a = 1;
  6. $b = 2;
  7. $c = 3;
  8. ';
  9.  
  10. // linia, po której zostanie dodany nowy kod
  11. $installAfter = '$a = 1;';
  12.  
  13. // kod do "instalacji"
  14. $toInstall = '$aa = 11;';
  15.  
  16. // "instalacja" kodu
  17. $install = str_replace($installAfter, $installAfter.PHP_EOL.$toInstall, $file);
  18.  
  19. echo $install;
  20.  
  21.  
  22. /*
  23. # php script.php
  24.  
  25. <?php
  26. $a = 1;
  27. $aa = 11;
  28. $b = 2;
  29. $c = 3;
  30.  
  31. */


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 01:32