Autor Zpráva
matesek
Profil
Mám ještě jeden malý dotaz , jak se dá vymazat veškerý text v souboru pomocí nějakého příkazu . Například mám formulář a chtěl bych ho uložit do souboru , ale když v tom souboru něco je , tak aby se to přepsalo . Dalo by se to nějak udělat pomocí PHP ?
Radek9
Profil
<?php
file_put_contents("soubor.txt", "obsah");
?>
matesek
Profil
místo obsah dám proměnné a ty se mi tam vždy přepíšou ?
Radek9
Profil
Ano
matesek
Profil
<? include "jmeno.txt" ?>
<form method=post action="terka.php" name=formular target="ramecek" onsubmit="return a();">
<input type="text" name="jmeno"> <input type=submit> 
</form>
matesek
Profil
<?php
{
$fp = fopen('jmeno.txt', 'a+');
fwrite($fp, .$_POST['jmeno'].);
fclose($fp);
}
?>
matesek
Profil
mám v jednom souboru , ale jak promazat ten soubor jmeno.txt a vždy tam zapsat změněné , nevím jak a kam vložit do tohohle to tvoje :(
imploder
Profil
matesek
mám v jednom souboru , ale jak promazat ten soubor jmeno.txt a vždy tam zapsat změněné , nevím jak a kam vložit do tohohle to tvoje :(
Nikam, funkce file_put_contents si soubor otevře a zavře sama. Takže stačí
file_put_contents('jmeno.txt', $_POST['jmeno']);

Mimochodem, to co dělá tvůj kód je něco jiného, máš otevřený soubor s a+, tj. zápis na konec. File_put_contents přepíše celý soubor, pokud v něm už něco bylo, tak se to přepíše.
Pavel Dumbrovský
Profil
<?php
{
$fp = fopen('jmeno.txt', 'a+');
fwrite($fp, .$_POST['jmeno'].);
fclose($fp);
}
?>

Tohle by ti fungovalo, ale místo 'a+' by tam muselo být tuším 'w', nebo něco takového, aby to přepisovalo..
drasha
Profil
Nehrotíš to tak trochu?! Spíš tu popiš přesně to, čeho chceš docílit :) Určitě je víc řešení, pohodlnějších než přepisováním txt souboru :) ..
matesek
Profil
chci mt profil člověka , a mám ty informace tak , že každou informaci mám ve vlastním txt souboru a ty includuju ze dvojtečku té dané informace viz : jméno : <? include "jmenu.txt" ?> a tak mám všechny informace . daný člověk si může své infomece měnit pomocí : Jméno : <? include "jmeno.txt" ?>
<form method=post action="terka.php" name=formular target="ramecek" onsubmit="return a();">
<input type="text" name="jmeno"> <input type=submit>
</form>
a já nevím , jak to změnit v tm určitém txt souboru ( smazat staré a napsat nové ) .
matesek
Profil
Celý profil vypadá takto :

<body>
Jméno : <? include "jmeno.txt" ?> <form method=post action="ewafarna.php" name=formular target="ramecek" onsubmit="return a();"> <input type="text" name="jmeno"> <input type=submit> </form>
Příjmení : <? include "prijmeni.txt" ?> <form method=post action="ewafarna.php" name=formular target="ramecek" onsubmit="return a();"> <input type="text" name="prijmeni"> <input type=submit> </form>
Adresa : <? include "adresa.txt" ?> <form method=post action="ewafarna.php" name=formular target="ramecek" onsubmit="return a();"> <input type="text" name="adresa"> <input type=submit> </form>
Město : <? include "mesto.txt" ?> <form method=post action="ewafarna.php" name=formular target="ramecek" onsubmit="return a();"> <input type="text" name="meso"> <input type=submit> </form>
PSČ : <? include "psc.txt" ?> <form method=post action="ewafarna.php" name=formular target="ramecek" onsubmit="return a();"> <input type="text" name="psc"> <input type=submit> </form>
Telefon : <? include "telefon.txt" ?> <form method=post action="ewafarna.php" name=formular target="ramecek" onsubmit="return a();"> <input type="text" name="telefon"> <input type=submit> </form>
E-mail : <? include "e-mail.txt" ?> <form method=post action="ewafarna.php" name=formular target="ramecek" onsubmit="return a();"> <input type="text" name="email"> <input type=submit> </form>

<?php
{
$fp = fopen('jmeno.txt', 'w+');
fwrite($fp, .$_POST['jmeno'].);
fclose($fp);
}
{
$fp = fopen('prijeni.txt', 'w+');
fwrite($fp, .$_POST['prijmeni'].);
fclose($fp);
}
{
$fp = fopen('adresa.txt', 'w+');
fwrite($fp, .$_POST['adresa'].);
fclose($fp);
}
{
$fp = fopen('mesto.txt', 'w+');
fwrite($fp, .$_POST['mesto'].);
fclose($fp);
}
{
$fp = fopen('psc.txt', 'w+');
fwrite($fp, .$_POST['psc'].);
fclose($fp);
}
{
$fp = fopen('telefon.txt', 'w+');
fwrite($fp, .$_POST['telefon'].);
fclose($fp);
}
{
$fp = fopen('email.txt', 'w+');
fwrite($fp, .$_POST['email'].);
fclose($fp);
}
?>
</body>
matesek
Profil
a nevím proč , ale hlásí to cybu na řádku 13 :

Parse error: parse error in /3w/unas.cz/s/sweet-stars/profil/ewafarna/ewafarna.php on line 13
AM_
Profil
1) misto <? pouzivej vsude <?php
2) zkus se podivat na praci s MySQL databazi a ukladat kontakty tam
3) kdyz uz do souboru, tak aspno do jednoho, a ne kazdou informaci do zvlast txt :)
DoubleThink
Profil *
Proč máš kolem proměnné ty tečky (operátor spojení řetězce)?

Jinak bys měl své případné zákazníky varovat, že jsi nebezpečný, pokud se ti do ruky dostane programovací jazyk - jako třeba PHP.
Co když se někdo bude jmenovat "<? unlink(__file__)"? (A jsou i horší jména.)
matesek
Profil
1) misto <? pouzivej vsude <?php
2) zkus se podivat na praci s MySQL databazi a ukladat kontakty tam
3) kdyz uz do souboru, tak aspno do jednoho, a ne kazdou informaci do zvlast txt :)


1) to není nutné , funguje to i tak
2) MySQL se ještě neučím a neumím vůbec, postupem času na to dojde .
3) do jednoho souboru to neumím , zkouším to takto .

Co když se někdo bude jmenovat "<? unlink(__file__)"? (A jsou i horší jména.)

a co je na tom špatně ?

Proč máš kolem proměnné ty tečky (operátor spojení řetězce)?

kopíroval jsem to z jiného souboru , nevšiml jsem si jich :) Už je tam nemám :)
AM_
Profil
matesek
„Co když se někdo bude jmenovat "<? unlink(__file__)"? (A jsou i horší jména.)“

a co je na tom špatně ?

tak se ti jen smaže ten PHP soubor ze serveru. DoubleThink ti chtěl naznačit, že do jména ti kdokoli může vložit PHP kód, který tvé nešťastné řešení spojí.

1) to není nutné , funguje to i tak
2) MySQL se ještě neučím a neumím vůbec, postupem času na to dojde .
3) do jednoho souboru to neumím , zkouším to takto .


1) ano, ale jen s určitým nastavením serveru (short_open_tag). Nové servery jej mají defaultně vypnutý a při přesunu na jiný server či novou verzi PHP se to celé může rozsypat
2) a 3) jen jinými slovy říkáš "neumím to efektivně, tak to radši dělám úplně blbě, než abych se to nejdřív pořádně naučil".
matesek
Profil
2) a 3) jen jinými slovy říkáš "neumím to efektivně, tak to radši dělám úplně blbě, než abych se to nejdřív pořádně naučil".

Zatím to eumím , učím se podle knih a až dojdu k téhle části , tak to možná pořádně pochopím a udělám to dobře , ale zatím jsem k tomu nedošel .

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: