Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Generowanie prostego instalatora, Funkcja, PHP 4 i 5
Bakus
post 22.01.2005, 01:10:13
Post #1


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Kod wygenerowany przez ten skrypt wystarczy zapisać jako plik .php i uruchomić z poziomu serwera WWW.
Nie ma w tym nic wymyślnego, ale daje ładny efekt i przydaje się, gdy ktoś chce wdostępnić plik php łącznie z plikami binarnymi, a chciałby to mieć w 1 pliku tekstowym...

  1. <?php
  2.  /**
  3.   * Prosty instalator
  4.   * @author Krzysztof Andrzej Błachut
  5.   * @copyright (C) 2004 Krzysztof Andrzej Błachut
  6.   * @email bakus@idn.net.pl
  7.   */
  8.  
  9. function code($file)
  10. {
  11. print '/* ' . $file . ' */' . &#092;"n\";
  12. $d = fopen($file, &#092;"rb\");
  13. $data = '';
  14. while(!feof($d))
  15. {
  16. $data .= fread($d, 512);
  17. }
  18. fclose($d);
  19. print '$d = '' . wordwrap(base64_encode($data), 80, \"'n .'\", true) . \"';n&#092;";
  20. print '$fh = fopen(\"' . $file . '\"\"wb\");' . &#092;"n\";
  21. print 'fwrite($fh, base64_decode($d));' . &#092;"n\";
  22. print 'fclose($fh);' . &#092;"n\";
  23. print 'print \"Wypakowano plik ' . $file . '<br />n\";' . &#092;"n\";
  24. }
  25.  
  26. print '<?php' . &#092;"n\";
  27. code(&#092;"plik.php\");
  28. code(&#092;"plik.jpg\");
  29. print 'print \"<b>Wszystkie pliki zostały wypakowane</b><br />n\";' . &#092;"n\";
  30. print '?>';
  31. ?>


Przykładowy wynik (zostal skrócony):
  1. <?php
  2. /* show_token.php */
  3. $d = 'PD9waHAKLyoKICogQGF1d5c3p0b2YgkcnplaiBCs2FjaHV0CiAqIEBjb3B5cmlnaHQg'
  4. .'KEMpIDIwMDUgS3J6eXZHJ6ZWoghY2h1dAogKiBAZW1haWwgYmFrdXNAaWRuLm5ldC5w'
  5. .'bAogKi8KCiAgICBpZihlBPU1RbInEipCiAgICB7CiAgICAgICAgJG1kNSA9IG1kNSht'
  6. .'Lz4nOwogICAgfQo/Pg==';
  7. $fh = fopen(&#092;"show_token.php\", \"wb\");
  8. fwrite($fh, base64_decode($d));
  9. fclose($fh);
  10. print &#092;"Wypakowano plik show_token.php<br />n\";
  11. print &#092;"<b>Wszystkie pliki zostały wypakowane</b><br />n\"
  12. ?>


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
NuLL
post 10.02.2005, 13:17:10
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Bakus - może jak znajdziemy trochę czasu to napiszemy instalator z prawdziwego zdarzenia ?

Sorry za OT


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
bela
post 10.02.2005, 13:40:28
Post #3


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


Zzoss ?


--------------------
Go to the top of the page
+Quote Post
NuLL
post 10.02.2005, 19:00:54
Post #4





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Korzystałem - dla mnie za trdune - zreszta m,a błedy bo wygenrował mi instalator który się zapętlił - tworzył folder a w nim następny - stworzył folder którego nie mogłem usunąc bo syetm plików nie był w staie. Myśle o czymś prostszym....


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
Bakus
post 11.02.2005, 04:32:54
Post #5


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


@NuLL: czemu nie... tu mamy podstawę - skrypt do "pakowania" plików... smile.gif


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
Kocurro
post 14.02.2005, 13:16:56
Post #6





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

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


Sorry za OT:

Sam szykuje już instalator z kodowaniem smile.gif więc może jakoś się zgadamy questionmark.gif biggrin.gif
Go to the top of the page
+Quote Post
krysk
post 2.07.2005, 23:02:03
Post #7





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


@Bakus, NuLL: napisaliście już prawdziwy instalator? Nie chcę wynajdywać koła od nowa winksmiley.jpg Jeśli nie, to czy podczas swoich prób mogę się oprzeć na Twoim "pakerze"?


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post
NuLL
post 3.07.2005, 09:21:50
Post #8





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Wydaje mi się, że odkryć koło na nowo. Nie wiem jak Bakus ale ja nic nie naskrobałem.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
Bakus
post 3.07.2005, 21:52:42
Post #9


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Nie poprawiałem w/w kodu... projekt instalatora został odsunięty na dalszy plan...


--------------------
Powrót do przeszłości :)
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: 26.04.2024 - 22:05