Autor | Zpráva | ||
---|---|---|---|
Vopiatos Profil |
#1 · Zasláno: 14. 4. 2010, 19:58:07
Ahoj prosim vas potreboval bych nejakej script kterej by zobrazil txt soubor do ktereho ukladam z formulare, a abych ho mohl editovat.
př.:ve formulari vypisi clanek ten ulozim a zobrazi se mi v indexu no a potreboval bych ho nejak editovat aby bylo mozne jej prepsat nebo vymazat Diky moc |
||
mattyZEM Profil |
#2 · Zasláno: 14. 4. 2010, 20:00:54
fopen, popřípadě file_get_contents
|
||
Joker Profil |
#3 · Zasláno: 14. 4. 2010, 20:10:01
Vopiatos:
Viz v manuálu PHP funkce pro práci se souborovým systémem. "Zobrazení souboru tak aby šel editovat" obvykle znamená prostě načtení obsahu souboru jako výchozí hodnoty do nějakého editoru, kde je pak tlačítko pro uložení, které zase obsah toho editoru uloží do souboru. |
||
Vopiatos Profil |
použil jsem tento script kterej mi zobrazi test.txt
<? $soubor = fopen("test.txt","r+"); $text = fread($soubor, 300000); echo $text; fclose ($soubor); ?> a tento kterym muzu do nej zapisovat ale nevim jak otevrit txt a upravit ho.proto ze se mi porad vklada text ktery je tam vlozen a neprida se zadny nebo ho nevymaze. skusil jsem to zmenit na r+ a w ale vymaze to cele a nic nezapise. <? $file = "test.txt"; //jméno souboru, do kterého budete zapisovat if (isset($area)) { $fp = fopen("$file", "a"); fwrite($fp, "<br>$area"); fclose($fp); } ?> Moderátor Davex: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou. Moderátor Davex: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
Velda Profil |
#5 · Zasláno: 14. 4. 2010, 20:38:52
máš správně nastavené práva pro soubor text.txt?
|
||
Vopiatos Profil |
#6 · Zasláno: 14. 4. 2010, 20:59:00
prava jsou v pohode
|
||
mckay Profil |
#7 · Zasláno: 14. 4. 2010, 21:12:55
Vopiatos:
Zkus deskriptor "w+". Vynuluje obsah souboru, pokud neexistuje, zkusí ho vytvořit. |
||
Chro Profil |
#8 · Zasláno: 14. 4. 2010, 21:19:56
Vopiatos:
Příklad, editor.php: <?php $file = 'test.txt'; if (isset($_POST['submit'])) { $area = $_POST['area']; file_put_contents($file, $area); echo "Data uložena."; } ?> <form action="editor.php" method="post"> <textarea name="area" cols="50" rows="30"> <?php $text = file_get_contents($file); echo $text; ?> </textarea> <br> <input type="submit" name="submit" value="Uložit"> </form> Do index.php na požadované místo vlož: <?php readfile('test.txt'); ?> Případně si ošetři vstup z textarea nebo pokud nebudou fungovat funkce file_..._contents() upravit na taškařici s fopen()... |
||
Vopiatos Profil |
#9 · Zasláno: 14. 4. 2010, 21:37:07
nejak mi to nafacha pise mi to:
Warning: file_put_contents(test.txt) [function.file-put-contents]: failed to open stream: Permission denied in C:\Programy\VertrigoServ\www\editor.php on line 5 Mam tu: <form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post"> <textarea name="blabla" cols="50" rows="10"> <? $soubor = fopen("soubor.txt","r+"); $text = fread($soubor, 300000); echo $text; fclose ($soubor); ?> </textarea> <input type="submit" name="odeslat" value="OK"> </form> <?php if($_POST['odeslat']) { // pokud byl stisknut enter nebo bylo kliknuto na tlaèítko $soubor = "soubor.txt"; // název souboru $ot = fopen($soubor, "w"); // otevøení souboru $w = fwrite($ot, $_POST['blabla']); // zapsání obsahu fclose($ot); // zavøení souboru if($w) echo("Obsah byl úspìšnì zapsán,"); else echo("Nìkde se stala chyba!"); // vypsání výsledku } ?> jen je problem ze mi to vymaze celej text nebo po uprave "w" na r+ atd. se jen přidává dálší, ale potřebuju vymazat třeba 3 řadky a připsat dálší, prostě přepis. |
||
Chro Profil |
#10 · Zasláno: 14. 4. 2010, 22:16:09
Vopiatos:
Chybu permission denied mi skript psal tehdy, když jsem neměl u souboru do kterého jsem chtěl zapisovat práva k zápisu. Nastavil jsem mu chmod 777 a pak to šlo. |
||
Vopiatos Profil |
#11 · Zasláno: 14. 4. 2010, 22:46:08
jo už to funguje velice diky
|
||
Časová prodleva: 1 rok
|
|||
lukas7 Profil |
#12 · Zasláno: 15. 5. 2011, 18:46:49
Zkoušel jsem si tímto způsobem udělat editaci souboru. Postup jaký uvádádí Vopiatos funguje, nicméně pokud chci mít v souboru texty kde sou uvozovky " tak se před něj vždy dát lomítko /. Což nechci, chci se tedy zeptat jak výše uvedený kod upravit aby se před " nedávalao / (lomítko)? velice díky za radu.
|
||
Keeehi Profil |
#13 · Zasláno: 15. 5. 2011, 19:19:43
lukas7:
Buď vypni magic_quotes_gpc, nebo ten text projeď funkcí stripslashes. To lomítko je to druhé, zpětné - \ |
||
Časová prodleva: 13 let
|
0