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

Tom Liberec

PHP: uložení proměnné do souboru
« kdy: 18. 10. 2014, 10:32:26 »
Kód: [Vybrat]
<?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.
« Poslední změna: 18. 10. 2014, 11:37:39 od Petr Krčmář »


Tom Liberec

Předem všem díky.

robin martinez

  • *****
  • 857
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
prava jsou nastavena dobre? kdyz soubor news.txt vymazes, vytvori se automaticky?

jinak misto toho cteni zpet bych asi pouzil

Kód: [Vybrat]
file_put_contents("news.txt", $data, FILE_APPEND | LOCK_EX);

One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

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

<?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 »
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 »
Co je na tom špatně, že mi to do souboru neuloží obsah proměnné  $text  ?

Zkus to takhle:
Kód: [Vybrat]
<?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

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.

Blog v souborech? Lulz?!  :o ;D
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci