Autor Zpráva
kozusnik.jan
Profil *
Ahoj dělám si webovou administraci a potřeboval bych, abych na webu mohl, když vytvořím nějaký soubor na něj vložit odkaz do menu. Mám soubor menu.php, kde jsou odkazy. Soubor mi jde otevřít v pohodě,ale nevím ,jak zapsat data na určité místo. Potřeboval bych to udělat tak, že uživateli se do textarea vypíše menu, to mi jde, on tam na určité místo napíše text a on se do toho souboru uloží. NEvíte, jak to udělat? Moc dík
kozusnik.jan
Profil *
Ještě zdroják:
$fp = fopen("menu.php","r+");
$otevrenomenu = fread($fp, filesize("menu.php"));
echo"<textarea cols='72' rows='10'>";
echo"$otevrenomenu";
echo"</textarea>";
echo"<form method='post'><input type='text' name='odkaz' id='odkaz' > Odkaz";
echo"<input type='submit' name='zavri' value='Zavri'></form>";
if(isset($_POST['zavri'])) {
$menu = fread($fp, filesize("menu.php"));
fclose($fp);

fwrite($fp, $_POST['odkaz']);
Shadowek
Profil
No ... Když se do textarey načte celý původní text tak stačí jen celý soubor přepsat tím upraveným textem z textarey ne?
nethor
Profil
Tohle by šlo přes file().
Nateš si soubor do pole (po řádcích - položka menu na jednom řádku vstup ale přes <input>, ne <textarea> abys neměl problém s řádkováním).
Pak pomocí explode() a implode() vložíš kam potřebuješ.

Důrazně ale doporočuju požití databáze, NE zápis do souboru.
Jinak je jen otázka času, kdy při chybě v zápisu do souboru přijdeš o data.
Keeehi
Profil
<?php
if(!empty($_POST['zavri'])) {
  $fp = fopen("menu.php","w");
  fwrite($fp, $_POST['areamenu']);
  fclose($fp);
}

$fp = fopen("menu.php","r");
$otevrenomenu = fread($fp, filesize("menu.php"));
fclose($fp);
?>
<form method='post' action='tento-soubor-jak-se-jmenuje.php'>
  <textarea name='areamenu' cols='72' rows='10'><?php echo $otevrenomenu;?></textarea>
  <input type='submit' name='zavri' value='Zavři'>
</form>
kozusnik.jan
Profil *
Díky, já to udělám přes tu DB.

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