Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Konkretna linia w fopen/fread...
Forum PHP.pl > Forum > Przedszkole
Nightwalker
Witam,
Właśnie skończyłem pisać skrypt który działa bez bazy, cały config jest w pliczku config.php, żeby ułatwić życie użytkownikowi postanowiłem napisac instalator...

plik install.php (wiem że są tam niepotrzebne zmienne, ale jak podałem zmienną jako zwykły tekst w pliku wyjściowym było to ucinane sadsmiley02.gif )

  1. <?php
  2.  
  3. if(file_exists('config.php') or file_exists('config2.php'))
  4. {
  5. echo 'Skrypt zostal juz zainstalowany!<br />Wszelkie zmiany rob w pliku config.php';
  6. }
  7. else
  8. {
  9. if(isset($_POST['Submit']))
  10. {
  11. $adres = '$adres';
  12. $katalog = '$katalog';
  13. $patch = '$patch';
  14. $katmin = '$katmin';
  15. $prefix = '$prefix';
  16. $jakosc = '$jakosc';
  17. $rozmiar = '$rozmiar';
  18. $maxrozmiar = '$maxrozmiar';
  19. $upraw = '$upraw';
  20. $abuse = '$abuse';
  21. $abuse_email = '$abuse_email';
  22. $cookiedomain = '$cookiedomain';
  23. $cookiepatch = '$cookiepatch';
  24. $cookiestring = '$cookiestring';
  25. $cookiettl = '$cookiettl';
  26. $top = '$top';
  27. $bottom = '$bottom';
  28. $footer = '$footer';
  29.  
  30. $config = "<?php\n".$adres." = '".$_POST['adres']."';\n".$katalog." = '".$_POST['katalog']."';\n".$patch." = '".$_POST['patch']."';\n".$katmin." = '".$_POST['katmin']."';\n".$prefix." = '".$_POST['prefix']."';\n".$jakosc." = '".$_POST['jakosc']."';\n".$rozmiar." = '".$_POST['rozmiar']."';\n".$maxrozmiar." = '".$_POST['maxrozmiar']."';\n".$upraw." = '".$_POST['upraw']."';\n".$abuse." = '".$_POST['abuse']."';\n".$abuse_email." = '".$_POST['abuse_email']."';\n".$cookiedomain." = '".$_POST['cookiedomain']."';\n".$cookiepatch." = '".$_POST['cookiepatch']."';\n".$cookiestring." = '".$_POST['cookiestring']."';\n".$cookiettl." = '".$_POST['cookiettl']."';\n".$top." = '".$_POST['top']."';\n".$bottom." = '".$_POST['bottom']."';\n".$footer." = '".$_POST['footer']."';\nphp?>";
  31.  
  32. $plik = 'config.php';
  33. $open = fopen($plik, 'a');
  34. $save = fwrite($open, $config);
  35. chmod ('config.php', octdec(444));
  36. echo 'Skrypt zostal zainstalowany i jest gotowy do pracy!';
  37. }
  38. else
  39. {
  40. require_once('template/install.tpl');
  41. }
  42. }
  43.  
  44. ?>


Tworzy plik config.php który po utworzeniu wygląda tak:

  1. <?php
  2. $adres = 'http://mojastrona.pl/squirrelupload/';
  3. $katalog = 'pics/';
  4. $patch = '/squirrelupload/';
  5. $katmin = 'thums/';
  6. $prefix = 'min_';
  7. $jakosc = '80';
  8. $rozmiar = '140';
  9. $maxrozmiar = '512000';
  10. $upraw = '666';
  11. $abuse = 'on';
  12. $abuse_email = 'abuse@serwer.pl';
  13. $cookiedomain = 'mojastrona.pl';
  14. $cookiepatch = '/';
  15. $cookiestring = 'cn92107097c7ghiub1oi2biubxq09u9070h9b';
  16. $cookiettl = '36000';
  17. $top = 'on';
  18. $bottom = 'on';
  19. $footer = 'on';
  20. php?>


I teraz chce dodać do panelu admina edytor w stylu instalatora (graficzny), tylko nie wiem jak zrobić aby fopen/fread wyciągał jedną linie np

$adres = 'http://mojastrona.pl/squirrelupload/';

a w polu do wypełnienia wyświetlał (w input type="text" i value) tylko:
http://mojastrona.pl/squirrelupload/

i później zamieniał stary wpis nowym...

Jest to wogóle do wykonania?

Pozdrawiam.
luinnar
Zanim będziesz pisał instalator to zobacz co się stanie jak ktoś spróbuje wysłać pusty plik bądź plik innego typu niż przewidujesz.

Testowanie aplikacji to podstawa.
Nightwalker
Cytat(luinnar @ 2006-04-14 19:17:10)
Zanim będziesz pisał instalator to zobacz co się stanie jak ktoś spróbuje wysłać pusty plik bądź plik innego typu niż przewidujesz.

Testowanie aplikacji to podstawa.

Tak, wiem o tym smile.gif Ciągle to odkładam na później, mam teraz dużo pomysłów i każdy rodzi nowe błedy dzięki którym się ucze smile.gif

//EDIT,
Spróbuj teraz wgrać plik o innym rozszerzeniu niz JPG, GIF, PNG lub pusty plik aaevil.gif
luinnar
Co do problemu, to poczytaj o funkcji file" title="Zobacz w manualu php" target="_manual
Nightwalker
Cytat(luinnar @ 2006-04-15 10:26:12)
Co do problemu, to poczytaj o funkcji file" title="Zobacz w manualu php" target="_manual

Dzięki! smile.gif To się nada smile.gif

Ps. mam takie lamerskie pytanie, czy ten oto kod:

  1. <?php
  2. $type = array('image/jpeg', 'image/gif', 'image/png', 'image/jpg');
  3. if($uzyj_nazwy_typ !== $type[0] and $uzyj_nazwy_typ !== $type[1] and $uzyj_nazwy_typ !== $type[2] and $uzyj_nazwy_typ !== $type[3])
  4. ?>


Moge zamienić na jakiś mniejszy? (php ucze się nie korzystając z żadnego kursu/książki, więc niektórych podstwa nie znam)
luinnar
Teraz poczytaj o funkcji in_array" title="Zobacz w manualu php" target="_manual.

Ogólnie: manual prawdę Ci powie.
Hectic
NIe wiem dlaczego ale jak dam
  1. <?php
  2. $lines = array(file('ja.txt'));
  3. print_r($lines);
  4. ?>
To mi wywala
  1. Array ( [0] => Array ( ) )
pEbE
Bo to nie jest dobrze smile.gif
Po co Ci to array ktore robi nowa tablice?

  1. <?php
  2. $lines = file('ja.txt');
  3. print_r($lines);
  4. ?>
Hectic
Tak też nie działa już wcześniej patrzyłem dlatego tamto dodałem tongue.gif Jeżei dam tak jak napisałeś to mi wyświetla
  1. Array ( )
a plik napewno nei jest pusty...
matrach
Poczytaj o funkcji eval().
Wykonuje treść zawartą w stringu.
np:
  1. <?php
  2.  
  3. $wykonaj = "\$adres = 'http://mojastrona.pl/squirrelupload/';";
  4. eval($wykonaj);
  5. echo $adres;
  6.  
  7. ?>

wykona się jak:
  1. <?php
  2.  
  3.  
  4. $adres = 'http://mojastrona.pl/squirrelupload/';
  5. echo $adres;
  6.  
  7. ?>
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.