Autor | Zpráva | ||
---|---|---|---|
Text Profil * |
Ahoj, potřeboval bych poradit,
jak mam udělat abych měl na stránce textové pole na vyplnění nějakého textu, který se bude ukládat po odeslání do ,,text.txt" souboru kde se bude každý nový text ukládat na nový řádek. Pomůže mi někdo? Děkuji |
||
Louka Profil |
#2 · Zasláno: 20. 4. 2011, 18:13:29
index.html
<form action="skript.php" method="post"> <textarea name="text"></textarea> <input type="submit" value="Odeslat" name="send"> </form> skript.php <?php if ( $_POST['text'] ) { $soubor = fopen("text.txt","a"); fwrite($soubor,$_POST['text']."\n"); fclose($soubor); } ?> |
||
Text Profil * |
#3 · Zasláno: 20. 4. 2011, 18:37:48
To je ono co jsem potřeboval, moc dík.
Mohl by jsi mi ještě pomoct s jednou maličkostí? Potřeboval bych, aby tam bylo omození třeba na 500 řádků. Když to přesáhne 500, tak aby se automaticky vytvořil soubor text_2.txt nebo ho klidně připravim, ale aby se to po 500 řádku začlo ukládat do toho dalšího souboru +1 |
||
Louka Profil |
#4 · Zasláno: 20. 4. 2011, 18:54:29 · Upravil/a: Louka
parametr "a" dokáže vytvořit neexistujíci soubor sám, s tím se netrap.
<?php if ( $_POST['text'] ) { $id = 0; // nejmensi pouzitelne id? while ( file_exists("text".$id.".txt") ) $id++; // zmenšíme id o 1 a zjistíme jestli se do posledního vytvořeného souboru ještě dá psát $id--; $radku = 0; $tmp = fopen("text".$id.".txt","a"); while ( $radek = fgets($tmp) ) $radku++; if ( $radku >= 500 ) // nedá se psát { $id++; //další id $soubor = fopen("text".$id.".txt","a"); fwrite($soubor,$_POST['text']."\n"); fclose($soubor); } else { // dá se psát fwrite($tmp,$_POST['text']."\n"); } fclose($tmp); } ?> EDIT: Formát jmen tech souborů je tady teda: text0.txt, text1.txt, .... jen pro doplnění. |
||
Text Profil * |
#5 · Zasláno: 20. 4. 2011, 19:10:55
jsem to zkoušel a nějak mi to nešlo.. zkusím to teď :)
a hned napíšu, dík |
||
Louka Profil |
#6 · Zasláno: 20. 4. 2011, 19:16:29
OK. plácal jsem to narychlo, snad tam nebude moc chyb :)...
|
||
Text Profil * |
#7 · Zasláno: 20. 4. 2011, 19:18:31
tak jsem ten soubor text.txt musel přejmenovat pod text0.txt - jinak se to neukládalo...
„if ( $radku >= 500 )“ tak jsem to zkusil přepsat jen na 50 a když jsem jich udělal asi 80 řádku, tak se to stále ukládá jen do toho jednoho a toho samého textového dokumentu a nic se nevytvoří :( |
||
Text Profil * |
#8 · Zasláno: 20. 4. 2011, 19:44:44
Zkoušel jsem schválně mít 43 řádků v text0.txt a vytvořit jsem soubor text1.txt jestli se to pak nezačne posílat po 50 do dalšího souboru, ale bohůžel se tak nestalo, další poslané texty se posílali do toho nového text1.txt
|
||
Louka Profil |
#9 · Zasláno: 20. 4. 2011, 19:57:40
Text:
„tak jsem ten soubor text.txt musel přejmenovat pod text0.txt - jinak se to neukládalo...“ Ano, na to jsem upozorňoval výše. Mám tam chybu, promin: while ( ($radek = fgets($tmp)) !== false) $radku++; teď by to mělo jít. |
||
Text Profil * |
#10 · Zasláno: 20. 4. 2011, 20:03:02
tak jsem zkopíroval a vyměnil ten řáděk, ale je to stále to samí :( zase jsem napsal víc jak 50 řádek a je to stále v tom jednom a tom samím dokomentu text0.txt
|
||
l564 Profil |
#11 · Zasláno: 21. 4. 2011, 10:38:56
a máš nastavený chmod na 777 v dané složce?
|
||
Text Profil * |
#12 · Zasláno: 23. 4. 2011, 16:14:04
l564:
„a máš nastavený chmod na 777 v dané složce?“ Zkusil jsem ho nastavit a stále bohužel nic :( pořád se to ukládá do jednoho a toho samého. |
||
Text Profil * |
#13 · Zasláno: 25. 4. 2011, 15:19:28
poradí te někdo? stále se mi to nedaří udělat...
|
||
Časová prodleva: 13 let
|
0