PHP: uložení proměnné do souboru

Tom Liberec

PHP: uložení proměnné do souboru
« kdy: 18. 10. 2014, 10:32:26 »
<?php
$jmeno
= htmlspecialchars($_POST["jmeno"]);
$text = htmlspecialchars($_POST["text"]);
file_put_contents("news.txt", date('d.m.Y').date(' H:i:s')." - <b>".$jmeno."</b><br>".$text."   <hr>"."\n".file_get_contents("news.txt"));
?>


Co je na tom špatně, že mi to do souboru neuloží obsah proměnné  $text  ?

( Tohle je ve skutečnosti jeden řádek ........   
".$text."   
"."\n".file_get_contents("news.txt"));

A je pravděpodobné, že se prohlížeč se zastaví při běhu PHP scriptu a nevrátí se nazpět na stránku formuláře ?

Jde mi o to pochopit kde je chyba, protože pokud to nechápu nemá smysl stahovat nějaký PHP blog hotový zkoušet jej nějak dobastlit do stránek.


Tom Liberec

Předem všem díky.

3ugeene

prava jsou nastavena dobre? kdyz soubor news.txt vymazes, vytvori se automaticky?

jinak misto toho cteni zpet bych asi pouzil

file_put_contents("news.txt", $data, FILE_APPEND | LOCK_EX);



Tom Liberec

Díky obojí vyzkouším. Práva mám v celém adresáři na domácím serveru na maximu. Teď musím jet na nákup.

Omlouvám se tedy, že to bude trvat.

Kit

Citace od: Tom    Liberec kdy 18. 10. 2014, 10:32:26
<?php
Co je na tom špatně, že mi to do souboru neuloží obsah proměnné  $text  ?

Nemůžeš současně číst a zapisovat do jednoho souboru. Ve chvíli, kdy ho otevřeš pro zápis, je vymazán. Pak už nic nepřečteš.

Pochybuji, že v $text něco máš.

Citace
A je pravděpodobné, že se prohlížeč se zastaví při běhu PHP scriptu a nevrátí se nazpět na stránku formuláře ?

Ne. Proč by to měl dělat? Nějak té otázce nerozumím.
[/quote]
Jde mi o to pochopit kde je chyba, protože pokud to nechápu nemá smysl stahovat nějaký PHP blog hotový zkoušet jej nějak dobastlit do stránek.
[/quote]

Hlavně nemá smysl dělat blog tímto způsobem. Proč nepoužiješ nějakou databázi? Na freehostingu si obvykle můžeš vybraz z pěti druhů databází a ty to mastíš do souboru. A ještě blbě.


Fantomas

Re:PHP: uložení proměnné do souboru
« Odpověď #5 kdy: 18. 10. 2014, 11:48:20 »
Zapisovat text pres php do souboru, no fuj....

Kit

Re:PHP: uložení proměnné do souboru
« Odpověď #6 kdy: 18. 10. 2014, 12:31:07 »
Citace od: Fantomas kdy 18. 10. 2014, 11:48:20
Zapisovat text pres php do souboru, no fuj....

Co je na tom špatného? Dělám to běžně. Jenže současně číst a zapisovat do toho stejného souboru, to je fuj.

NooN

Re:PHP: uložení proměnné do souboru
« Odpověď #7 kdy: 18. 10. 2014, 12:57:25 »
A ako mas riesene sucasne zapisovanie od viacerých ludi do suboru?

Kit

Re:PHP: uložení proměnné do souboru
« Odpověď #8 kdy: 18. 10. 2014, 14:05:53 »
Citace od: Tom    Liberec kdy 18. 10. 2014, 10:32:26
Co je na tom špatně, že mi to do souboru neuloží obsah proměnné  $text  ?

Zkus to takhle:
<?php
$jmeno
= htmlspecialchars($_POST["jmeno"]);
$text = htmlspecialchars($_POST["text"]);
file_put_contents(
   
"news.txt",
   
date('d.m.Y H:i:s') . " - <b>$jmeno</b><br>$text"
);

Re:PHP: uložení proměnné do souboru
« Odpověď #9 kdy: 18. 10. 2014, 15:34:08 »
v prve rade na nejaky takovyhle masteni pres soubory uplne zapomen.
Děkuji za možnost editace příspěvku.

Lol Phirae

Re:PHP: uložení proměnné do souboru
« Odpověď #10 kdy: 18. 10. 2014, 17:38:26 »
Blog v souborech? Lulz?!  :o ;D

Já

Re:PHP: uložení proměnné do souboru
« Odpověď #11 kdy: 18. 10. 2014, 18:52:04 »
Proč ne? Mají tu snad všichni nějakou mentální závislost na databázích nebo co?

NooN

Re:PHP: uložení proměnné do souboru
« Odpověď #12 kdy: 18. 10. 2014, 20:58:09 »
Uz ti niekto prezradil ze na webe moze pristupovat viac ludi sucasne?
Alebo mas web len cisto pre jedneho cloveka... :)

Re:PHP: uložení proměnné do souboru
« Odpověď #13 kdy: 18. 10. 2014, 21:44:08 »
Nekdo tady radi FILE_APPEND parametr pro file_put_contents, to je nicmene trochu neco jineho nez chces, protoze to zapise data na konec souboru, nikoli na zacatek.

Nekdo dalsi tvrdi, ze zapis do souboru ze ktereho ctes je blbost, konkretne tady v tom tvem PHP nikoli, protoze PHP funguje tak ze nejdriv vyhodnoti string ktery se ma zapisovat, vcetne ziskani obsahu souboru, a pak teprv ho zapise, takze v tomhle problem neni. Ovsem problem vznikne pokud by vic lidi chtelo naras do toho souboru takhle psat, muzes prijit o nejake data. Obecne je nutne soubory lockovat, pokud je ma pouzivat vic lidi najednou. I kdyz tohle vypada ze ma byt nejaky tvuj admin, ke kteremu budes pristupovat jen ty, takze bych v tom az zas takovy problem nevidel.

K tvemu problemu, pokud to do souboru ulozi novy zaznam, vcetne jmena, ale neulozi to promennou $text, tzn je jakoby prazdna, pak pravdepodobne prisla z formulare prazdna, nebo pod jinym jmenem. Ujisti se, ze <textarea> ve formulari ma atribut name=text

Re:PHP: uložení proměnné do souboru
« Odpověď #14 kdy: 19. 10. 2014, 10:39:51 »
No a to jako proč ne? Je to mnohdy rychlejší a efektivnější...
Je to stejně o logice, mnoho "jako enterprise" firem a tím myslím i ty velké dokážou vytvořit
takový paskvil i nad super silnou databází, že je to stejně jedno.
Nebudu jmenovat, ale určitě je všichni znají takový ti červení, modří, zelení a různobarevní.

To není o souborech, nebo DB to je o myšlení... mnohdy soubor bude mnohem rychlejší a spolehlivější
než DB a naopak.

Zrovna u blogu mi to příjde skoro nejlepší řešení, v jednoduchosti je síla.

Citace od: Lol Phirae kdy 18. 10. 2014, 17:38:26
Blog v souborech? Lulz?!  :o ;D
,,Řemeslo se naučí každý. Umění nikdo."
,,Jednoduchost je nejvyšší úroveň sofistikovanosti."
- Leonardo Da Vinci