Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] edycja pliku
Forum PHP.pl > Forum > Przedszkole
Chemiq
mam w pliku taki oto kod: (php i html są w jednym pliku)
  1. <?php
  2. $nazwa_pliku_rep = "admin_panel/replace.php";
  3.  
  4. $zawartosc = $_POST['zawartosc'];
  5. $zapisz_replace = $_POST['zapisz_replace'];
  6.  
  7. if (isset($zapisz_replace)) {
  8. $plik = fopen($nazwa_pliku, "w+");
  9. fputs($plik, $zawartosc);
  10. fclose($plik);
  11. }
  12.  
  13. ?>

  1. <form action='index.php?id=19&ad=24' method='post'>
  2. <textarea cols='52' rows='50' name='zawartosc'><? include ($nazwa_pliku_rep); ?></textarea><br>
  3. <input type='submit' value='Zapisz Replace' name='zapisz_replace'>
  4. </form>


wszystko działa jak należy ale jest problem. każdy kod php jest umieszczony pomiędzy znacznikami <? ?> (każdy wie). jednak gdy wczytuję takowy plik php nic się nie wyświetla w textarea. gdy usunę te znaczniki wszystko wyświetla się poprawnie w textarea ale z kolei rozsypuje mi się m.in. shoutbox. co powinienem zrobić?
Denver
Nie <? ?>, tylko <?php ?> jak już coś smile.gif
mariuszn3
Może masz krótkie tagi wyłączone.
Balon
a moze to wina samego include ? moze sproboj za pomoca fread ? albo file ?
  1. <?php
  2. echo implode( "n", file( $nazwa_pliku_rep ) );
  3. ?>
Cysiaczek
To ty chcesz wyświetlić źródło pliku php w ten sposób?
Oj. nie da rady - wykona się.

Pozdrawiam.
shpyo
Cytat(Balon @ 14.08.2006, 13:40 ) *
  1. <?php
  2. echo implode( "n", file( $nazwa_pliku_rep ) );
  3. ?>

LOL, to zakombinowałeś smile.gif
nie prościej tak:
  1. <?php
  2. print_r file( $nazwa_plik_rep );
  3. ?>

Odrazu masz odczytany plik linia po linijce :-)
Balon
nie nie prosciej bo tak jak Ty to pokazales to wyswietli Ci tablice.... file zwraca plik jako tablice rozbita z separatorem nowej lini. ja lacze to i wyswietlam smile.gif
Chemiq
Cytat
Nie <? ?>, tylko <?php ?> jak już coś

a co za różnica? chyba żadna

Cytat(Cysiaczek @ 14.08.2006, 13:49 ) *
To ty chcesz wyświetlić źródło pliku php w ten sposób?
Oj. nie da rady - wykona się.


ale widziałem że da się bo np. w php-fusion jest takie coś (extreme theme editor czy jakoś tak). a jeżeli faktycznie się nie da to czy można zrobić tak żeby interpretować plik *.txt bez znaczników <? ?> jako skrypt php?
shpyo
ale skoro i tak złącza do textarea plik, to w tym pliku można przecież wyświetlić dane np. w pętli.
mariuszn3
Aby wyświetlić kod php w przeglądarce w polu textarea zrób coś takiego:
  1. <textarea><?php echo htmlspecialchars(file_get_contents($sciezka_pliku)) ?></textarea>
NetJaro
Cytat
a co za różnica? chyba żadna

Wielka!

Jeżeli na serwerze masz opcję shot_open_tags wyłączoną to skrypt się nie wykona! Nie będzie w ogóel przechodził przez pasera i pozostanie wyświetlone źródło skryptu. A z resztą - "krótsza" (<?) opcja nie jest zgodna ze standardami.. (tylko nie pamiętam jakimi - wyleciało z głowy smile.gif ).
mariuszn3
Dokładnie.
Krótsza opcja koliduje z XML'em i nie jest zalecana.. bardzo prawdopodobne, że w przyszłych wersjach php w ogóle nie będzie tej wersji (ale php6 na pewno jeszcze ją będzie obsługiwać)
Chemiq
Cytat
  1. <textarea><?php echo htmlspecialchars(file_get_contents($sciezka_pliku)) ?></textarea>

działa. wielkie dzięki

Cytat
Cytat
a co za różnica? chyba żadna


Wielka!


ok. w sumie to się z wami zgadzam. nie uczyłem się jeszcze innych języków więc za bardzo o tym nie wiedziałem. od teraz będę stosował tylko <?php ?> jezeli chodzi o php biggrin.gif
TomASS
@Jaro :
Cytat
shot_open_tags

short_open_tags tongue.gif

a niektórzy np. piszą:
Kod
<script language="php">
        echo (":P");
</script>

I też zgodne ze standardami tongue.gif

tutaj masz napisane więcej o "Escaping from HTML"
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.