Diskuze: Logování do souboru...
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 33 zpráv z 33.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Použij raději funkci
http://www.php.net/…contents.php
s parametrem FILE_APPEND. Bude to bezpečnější. Na konec záznamu přidej
znak "\n".
Však je to tam v příkladech.
file_put_contents($file,$string."\n",FILE_APPEND | LOCK_EX);
Nemusíš ten soubor otvírat ani zavírat. Vše se udělá automaticky. Prostě se na konec souboru přidá řetězec $string.
To je hezká fce. V tom PHP aby se prase vyznalo, musím zde sepsat nějaký rejstřík a to i pro sebe.
Na co rejstřík, když máme http://www.php.net 
Ta funkce je užitečná i tím, že si ten soubor po dobu zápisu zamkne. Záznamy se tak nemohou promíchat se zápisem z jiného procesu. Zároveň je jisté, že to zamknutí je skutečně jen na dobu nezbytně nutnou a ani o chvilku déle.
Nedávno jsem si takto logoval ve formátu JSON a pracovalo se s tím pak přímo skvěle.
No v manuálu je hodně funkcí, třeba 10 co dělají tu samou věc. A hledat v tom, která z nich je nejlepší...
Zajímavé. O duplicitách moc nevím. Většinou jsou v těch funkcích alespoň drobné odchylky a některé starší jsou deprecated.
Neměl jsem na mysli přesné duplicity (i když těch tam je také dost). Hlavně ty drobné odchylky, že parametrem fce A dosáhnu lepšího výsledku, než u fce B a podobně. Pak samozřejmě ty deprecated, to je taky hrůza.
Kdyby se to strukturovalo do tříd, tak by takovéhle problémy nebyly. Pořád naivně věřím, že k tomu někdy dojde. Příjemně mě překvapilo např. toto: http://php.net/…datetime.php
Hmm, už ty konstanty vypadají dost drsně. Tuto třídu jsem neznal.
Mě se to líbí, konstanty jsou jen pro jednodušší formátování do známých formátů, funguje to stejně jako ty příšerné datetostr a podobné, jen je to zabalené ve třídě. Ve verzi 5.3 přídali např. metodu add, podívej se v příkladech, jak zrcadlí procedurální a objektový přístup, tenhle směr vývoje je docela nadějný: http://www.php.net/…time.add.php
Mně také. Ty objektové příklady mi ukázaly, že se z nich vlastně staly primitivní interpretry stringového parametru. To je velmi zajímavý přístup. Když si představím, že by každý objekt interpretoval jako příkaz nějakou podmnožinu nějakého jazyka... To už je skoro jako SQL.
Když se podíváš na příklad
http://www.php.net/…datetime.php#…
tak si možná vzpomeneš, jak jsme se bavili o tom, jak extrémně přetěžuji
objekty. Zdá se, že nejsem sám.
Jako že je tam diff místo toho, aby odečetl nějaký getter?
Takže když si budu chtít udělat třeba tu diskuzi znovu s tímhle tak to udělám takto :
<form action="pridej.php" method="post">
Jméno :<input type="text" name="jmeno"><br>
Text : <inpu type="text" name="text"><br>
pridej.php
file_put_contents($diskuze,$_POST[jmeno] . "\n" . text . "\n",FILE_APPEND | LOCK_EX);
????
ještě jsem zapoměl
$diskuze = diskuze.txt
Pochopil jsi to správně, ale realizoval špatně. Použitím syrového $_POST[jmeno] si koleduješ o malér, je nutné ho ošetřit. Nejlépe přes htmlspecialchars().
já na to nechci dávat nějké include atp. mě jde o ten výstup...
btw. v tom výstupu se to \n zobrazí ??
Asi jsi ještě neslyšel o XSS, že? A jak chceš potom zobrazit znaky ampersand, uvozovky, < apod?
pochybuji že zrovna můj web by chtěl někdo hacknout
btw.dělám zálohy.. (jestli to
pomůže)
XSS je zkratka pro Cross-site scripting. Představ si, že ti tam nějaký vtipálek vloží tento text:
</body>
Jakmile vypíšeš jeho komentář, zavře ti to stránku a dále se nic nevypíše. Proto vše před vypsáním musíš ošetřit funkcí htmlspecialchars().
jenže já to nechci vypisovat na stránku,chci to použít pro zápis do .htpasswd - jednoduchá "registrace"
Tak v tom případě tam htmlspecialchars() nebude, protože to bude už ošetřeno hashovací funkcí.
Rozmysli si dobře, jestli to budeš chtít takto dělat. Není to právě spolehlivé řešení, databáze by byla lepší. .htpasswd z ní případně můžeš po změně generovat, ale většinou to není potřebné.
Já chci pouze zaheslovat jednu stránku,aby tam nemohl každý,ale abych o
něm aspoň něco věděl...
Už to mám hotový,jen nevím jak to odřádkovat...
Však odpověď jsi dostal: Přidat "\n". Pokud potřebuješ odřádkovat jako v DOSu, přidej "\r\n".
Funguje. Musíš to dát do uvozovek - ne do apostrofů.
Ahá,já to tam čet,ale nějak jsem to při psaní vypustil....
pak to zkusím...napíšu 
Zobrazeno 33 zpráv z 33.