Otvorenie súboru a jeho editácia v PHP

Programovacie jazyky, rady, poradňa...
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Otvorenie súboru a jeho editácia v PHP

Príspevok od používateľa geoge046 »

Cafte,

mám taký problém: potreboval by som spraviť php script, ktorý mi otvorí txt súbor v editačnom formulári a teda si ho môžem zmeniť a naspäť uložiť do toho istého .txt .
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Urobíš php skript, kde budeš kontrolovať, či obsahuje POST premennú.
Ak neobsahuje, načítaš súbor a vložíš ho do vygenerovaného html.
Ak existuje, tak jej obsah uložíš do toho súboru.
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

chrono napísal:Urobíš php skript, kde budeš kontrolovať, či obsahuje POST premennú.
Ak neobsahuje, načítaš súbor a vložíš ho do vygenerovaného html.
Ak existuje, tak jej obsah uložíš do toho súboru.
A mohol by si to napisat prosim v SCRIPTE? Ja som z PHP Call Of Dúty
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Kód: Vybrať všetko

<?php
	define("FILENAME", "text.txt");

	if (isset($_POST['text'])) {
		if (is_writable(FILENAME)) {
			$file = fopen(FILENAME, "w");
			if ($file) {
				fwrite($file, $_POST['text']);
				fclose($file);
				echo "OK";
			} else {
				echo "nemozem otvorit subor";
			}
		} else {
			echo "nemozem zapisovat";
		}
	} else {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>
	<form action="http://localhost/text.php" method="post">
		<textarea name="text" rows="20" cols="80">
<?php
		if (file_exists(FILENAME) === TRUE) {
			readfile(FILENAME);
		}
?>
		</textarea><br>
		<input type="submit" name="Poslať">
	</form>
</div>
</body>
</html>
<?php
	}
?>
mylan
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 66
Registrovaný: 22 dec 2004, 7:53
Bydlisko: Prešov / Praha
Kontaktovať používateľa:

Príspevok od používateľa mylan »

Len malá oprava formuláru, lebo mu to nepôjde, plus v textaree by to robilo asi medzery nadbytočné. Takže formulár z toho chronovho skriptu uprav takto:

Kód: Vybrať všetko

	<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
		<textarea name="text" rows="20" cols="80"><?php
		  if (file_exists(FILENAME) === TRUE) {
	                readfile(FILENAME);
		  }
        ?></textarea><br>
		<input type="submit" name="Poslať">
	</form>
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

mylan napísal:Len malá oprava formuláru, lebo mu to nepôjde, plus v textaree by to robilo asi medzery nadbytočné
Ja som to skúšal a "Mne to fungovalo (tm)" :D
Vďaka za vylepšenie skriptu Mylan.
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

a čujte , pod tym text.php ma byt co? asi nieco na prepisanie suboru celeho novym. ak hej, tak prosim hodte. :oops: :oops:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Myslíš toto: "http://localhost/text.php"? Tak sa má volať ten skript.
Ale môžeš tam dať to "<?php echo $_SERVER["PHP_SELF"];?>" ako odporúčal Mylan, potom sa ten súbor môže volať akokoľvek.
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

prečo to vždy ten subor otvorí s voľným riadkom pred textom?? :?: Alebo sa neda niečo take spraviť aby každy volny riadok pred textom vymazalo??
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

geoge046 napísal:prečo to vždy ten subor otvorí s voľným riadkom pred textom?? :?: Alebo sa neda niečo take spraviť aby každy volny riadok pred textom vymazalo??
Použil si tú Mylanovu úpravu? Tá by mala fungovať? Ak nie, daj vedieť.
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

chrono napísal:Použil si tú Mylanovu úpravu? Tá by mala fungovať? Ak nie, daj vedieť.
Noo, teraz som ju použil, a už to funguje. Veľmi pekne Vam Dakujem. Máte to u mňa :wink:
Napísať odpoveď