Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: includowanie pliku z zamiana znakow
Forum PHP.pl > Forum > Przedszkole
my salsa
mam taki problem winksmiley.jpg
Zrobilem formularz do edycji pliku no i mam tak ze jak go zapisuje to wyglada tak:
  1. <?php
  2.  
  3. $dane = $_POST[&#092;"dane\"];
  4. $dane = StripSlashes($dane);
  5. $dane = preg_replace(&#092;"'r|n|rn'si\", \"<br>\", $dane);
  6. $file=&#092;"plik\";
  7. $fp=fopen(&#092;"$file\", \"w\");
  8. flock($fp, 2);
  9. fwrite($fp, $dane);
  10. flock($fp, 3);
  11. fclose($fp);
  12.  
  13. ?>


Jest ladnie pieknie bo zamienia mi entery na <br>
ale w formularzu do edycji pliku mam takie cos :

  1. <textarea rows=12 name=dane cols=36> <? include("plik"); ?> </textarea>


Wyswietla mi plik .. jest ok, ale chcialbym zeby przed wyswietleniem zamienialo znaki <br> na enter... kto pomoze ?
wassago
http://forums.devshed.com/archive/t-46997

ps. dlaczego do zamiany "/n" na "<br />" nie uzyles funkcji nl2br()" title="Zobacz w manualu PHP" target="_manual ? winksmiley.jpg
my salsa
hmm pewnie dlatego ze jej nie znalem tongue.gif
ale mam problem no bo..
dalej niewiem jak to zrobic :/
mam takie cos:
  1. $plik = \"nazwa pliq\";
  2. $br = array('<br>','<br/>','<br />','<BR>','<BR/>','<BR />');
  3. $plik = str_replace($br,'n',$plik); // niewiem czy to jest dobrze :/
  4. echo '<textarea rows=12 name=dane cols=36>
  5. <?
  6. // NIEWIEM CO TU WPISAC :/
  7. ?>
  8. </textarea><br><br>';

pomocy smile.gif
wassago
  1. <?php
  2.  
  3. $strCt = file( 'nazwa_pliku' );
  4. $arrBr = array( '<br>', '<br/>', '<br />', '<BR>', '<BR/>', '<BR />' );
  5. $strOut = str_replace( $arrBr, 'n', $strCt ); 
  6.  
  7. echo '<textarea rows=\"12\" name=\"dane\" cols=\"36\">';
  8. echo $strOut;
  9. echo '</textarea>';
  10.  
  11. ?>

powinno dizalac
my salsa
w ten sposob w text area wyswietla sie :
Array
:/
cos zle, ale co ? :/
my salsa
samo to zrobilem i tez wyskaqje array :/ :

[php]<?
$dane = file('dane.txt');
echo '<textarea rows="12" name="dane" cols="36">';
echo $dane;
echo '</textarea>';
?>
Paul
Bo file" title="Zobacz w manualu PHP" target="_manual zwaca tablice - kazdy wiersz to osobny klucz...

Musisz ta tablice polaczyc w calosc, czyli w jeden string:



  1. <?php
  2.  $dane = implode('',file('dane.txt'));
  3. ?>
hwao
Tak jak napisa Paul:
  1. <?php
  2. $dane = implode('',file('dane.txt'));
  3. ?>


Kod wassago nie ma wiele bledow wiec mogels go poprwic samemu "\n"

  1. <?php
  2.  
  3. $strCt = file( 'nazwa_pliku' );
  4. $arrBr = array( '<br>', '<br/>', '<br />', '<BR>', '<BR/>', '<BR />' );
  5. $arrSe = array( &#092;"rn\", \"rn\", \"rn\", \"rn\", \"rn\", \"rn\" );
  6. $strOut = str_replace( $arrBr, $arrSe, $strCt );
  7.  
  8. echo '<textarea rows=\"12\" name=\"dane\" cols=\"36\">';
  9. echo $strOut;
  10. echo '</textarea>';
  11.  
  12. ?>


2 sposob

  1. <?php
  2. // $strString = Twoj text
  3. echo '<text...>';
  4. echo ereg_replace(&#092;"(<br/>|<br>|<br />|<BR>|<BR/>|<BR />)\", \"rn\", $strString);
  5. echo '</tex...';
  6.  
  7. ?>
pjozwiak1
Cytat(wassago @ 7.07.2004, 22:30:37 ) *
  1. <?php
  2.  
  3. $strCt = file( 'nazwa_pliku' );
  4. $arrBr = array( '<br>', '<br/>', '<br />', '<BR>', '<BR/>', '<BR />' );
  5. $strOut = str_replace( $arrBr, 'n', $strCt ); 
  6.  
  7. echo '<textarea rows=\"12\" name=\"dane\" cols=\"36\">';
  8. echo $strOut;
  9. echo '</textarea>';
  10.  
  11. ?>

powinno dizalac


Aby to zadziałało należy użyć innej funkcji do wczytania zawartości pliku np.:
  1. <?php
  2. ...
  3. $strCt = file_get_contents('nazwa_pliku');
  4. ...
  5. ?>


funkcja
  1. <?php
  2. array file( string $nazwa_pliku)
  3. ?>


zwraca zawartość pliku w postaci tablicy, gdzie w każdym wierszu tej tablicy jest nowa linia pliku.
franki01
Krotko:

  1. <textarea rows=12 name=dane cols=36> <? nl2br(file_get_contents('plik')); ?> </textarea>
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.