Autor Zpráva
PecanCZ
Profil
Zdravím, mohl by mi prosím někdo poradit jak udělat to, že by se mi třeba v textarei po kliknutí ti patřičné tlačítko ukázal obsah daného souboru a šel tam i upravovat? Po kliknutí na tlačítko Upravit by se zapsal nový obsah souboru do toho stávajícího PHP souboru. Díky moc :))
Dtx
Profil *
<?php
$obsah = file_get_contents('nazev_souboru.txt');

if(isset($_POST['text']) {
  $fp = fopen('nazev_souboru.txt', 'w');
  fwrite($fp, $_POST['text']);
}

?>
<form method="post">
  <textarea name="text"><?php echo $obsah ?></textarea>
   <input type="submit" value="ulož" />
</form>



je to dost zjednodušené (a možná s nějakými chybkami), ale pro pochopení principu snad stačí :)
Dtx
Profil *
resp. mě ještě napadá, že to

$obsah = file_get_contents('nazev_souboru.txt');

by mělo být až po zpracování postu, aby se v textarea zobrazila vždy ta aktuální verze
PecanCZ
Profil
díky za rychlou odpověď, ale chtěl bych se ještě zeptat jestli by se dalo takto udělat i s php souborem, že bych prostě načítal php soubor
Jan Tvrdík
Profil
PecanCZ:
Tak proč to nezkusíš?
PecanCZ
Profil
Jan Tvrdík:
zkoušel jsem to, ale fungovalo to divně, vypsalo to soubor jen po ...<?php echo $obsah ?> dál to nevypsalo nic
PecanCZ
Profil
vlastně potřebuju do té textarei vypsat samotný soubor, abych to zjednodušil
blazej44800
Profil
skus to iste ale so zmenou:

$obsah = file_get_contents('ftp://meno:heslo@host.cz/nazev_souboru.txt');

musi to ist cez ftp lebo http nemoze otvorit php bez spracovanie
PecanCZ
Profil
blazej44800:
bohužel mě se tak nejde připojit na ftp, mám to takto:
$obsah = file_get_contents('ftp://user:12345@liverpoolfc.cz/soubor.php');
blazej44800
Profil
preco ti to tak nejde
PecanCZ
Profil
já nevím, do textarei se nic nevypíše
Alphard
Profil
V tomhle vlákně se začínám ztrácet. Proč FTP? Taháte něco z cizího serveru?
Když soubor načtete přes přes file systém, PHP se nevykoná.
Přes file_get_contents() načtěte ten soubor, ošetřete znaky, které by v kontextu html mohly dělat problémy, a vypište do <textarea>.

Při ukládání vám tam chybí fclose(), nebo můžete rovnou použít file_put_contents().
Jan Tvrdík
Profil
<textarea name="text"><?php echo htmlspecialchars($obsah) ?></textarea>
PecanCZ
Profil
Jan Tvrdík:
díky moc! toto je přesně to co jsem potřeboval ;)
PecanCZ
Profil
můžu ještě jeden dotaz...mám problém při uložení souboru, ono mě to před všemi apostrofy doplní lomítko a kód se stává nefunkčním, dá se tomu nějak předejít? díky :))
Keeehi
Profil
stripslashes
PecanCZ
Profil
díky :)
Alphard
Profil
O escapování rozhoduje rutina magic_quotes_runtime, která se ruší, není proto vhodné dávat tam pevně stripslashes().
Pokud je to možné, změňte nastavení, jinak doporučuji podmínit to funkcí get_magic_quotes_gpc().

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0