Zjištění vytvoření a poslední úprava načteného souboru v JS
Ahoj, když jde v JS pomocí funkce 'fetch' načíst soubor (localhost), můžu i zjistit kdy byl tento načtený soubor vytvořen a kdy byl naposledy upraven? Děkuji
Ahoj, když jde v JS pomocí funkce 'fetch' načíst soubor (localhost), můžu i zjistit kdy byl tento načtený soubor vytvořen a kdy byl naposledy upraven? Děkuji
Zpět do poradny Odpovědět na původní otázku Nahoru
Pokud vím, tak ne.
Možná takto?
https://stackoverflow.com/questions/2313620/is-it-possible-to-retrieve-the-last-modified-date-of-a-file-using-javascript
https://www.tutorialspoint.com/how-to-display-the-date-and-time-of-a-document-when-it-is-last-modified-in-javascript
Díky mrknu se na to.
Tím fetch ten soubor budeš načítat z webserveru na localhostu, na který máš přístup.
Na tom webserveru běží třeba php, v php poslední modifikaci zjistíš pomocí filemtime.
Toto je taky tvé vlákno?
https://www.zive.cz/poradna/jak-pomoci-js-nacist-obsah-jine-stranky-na-localhostu/sc-20-cq-715930/default.aspx?consultanswers=1
Není a PHP tam neběží.
Otázka: "Ako sčítam čísla v JS"
Tvoja odpoveď: "Načítať súbor môžeš pomocou funkcie Open v jazyku Fortan"
Čo tu splietaš o PHP??? Radeji nič nepíš, keď neviem ani prečítať nadpis.
Pleteš si klienta a server. Na klientovi běží JS a čte soubor z localhost, kde může (ale nemusí) běžet PHP.
Ja si klient a server nepletem, ani som nič o tom nehovoril... ja som len hovoril že tazatel chcel zistiť poslednú úpravu v JS ale kacicak mu napsal radu v PHP.... proste totálne mimo... ja som len Kacicaka upozornil že píše nezmysli, to je celé... ja nič tu netrvil, tak neviem z čoho si vydedukoval že si pletiem server a kleint.
Níže jsem ti to vysvětlil jak jsem to myslel .-)
A jestli to nechápeš, klidně ti na to napíšu vzorový kod
vzorový kód si môžeš strčiť do.... tazatel chce jedno a ty mu radíš druhé...
Ty vůbec nerozumíš jak to myslím. Tak se to snaž pochopit.
Ten soubor se načítá ze serveru. Zjistit poslední úpravu můžeš tak, že to odchytneš přes header v javascriptu. Což se mně osobně nelíbí a já osobně bych to řešil tak, že bych to zjisti na serveru (třeba pomocí php nebo prostě toho, co je dostupné na serveru) a poslal bych tu hodnotu jako výstup javascriptu.
Tak jsem našel tady pomocí fetch
how-to-get-last-modified-timestamp-of-an-external-file
tohle
ale na výstupu mám tohle při každém načtení juný čas.
Dělám něco špatně nebo je ten kód blábol?
Díky
V podstatě je to čas, kdy zavoláš to "new File()".
Záleží na tom co posílá server za hlavičky.
Pokud pošle Last-Modified tak mi funguje:
Tak i mě to vrací datum a čas A jde jedním dotazem získat i obsah toho souboru? Díky
Zkoušel jsem to takto
ale dostanu chybu
Funguje mi:
Tak mě taky, děkuji.
Zkoušel jsem to dát do funkce a zavolat to 5x pokaždé s jiným souborem ale očekávaný výsledek není
výsledek z 1 souboru
výsledek z 2 souboru
výsledek z 3 souboru
výsledek z 4 souboru
výsledek z 5 souboru
ale je třeba
výsledek z 3 souboru
výsledek z 1 souboru
výsledek z 2 souboru
výsledek z 5 souboru
výsledek z 4 souboru
zkoušel jsem udělat i asynchronní funkci s await fetch() ale výsledek je stejný, jak to udělat aby se spustila funkce znova s dalším souborem teprve až se ta předchozí dokončí? Díky
Jakým způsobem to voláš pro víc souborů?
Zkoušel jsem jen nějaký základ a to přesně takto.
Vyzkouším ještě ten kód od tebe.
PS: tady Last-Modified se píše o formátu Last-Modified,
Last-Modified: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
ale už se tam nepíše jak si můžu vytvořit datum a čas ve vlastním formátu, nevíš jestli to jde?
Protože je fetchText() asynchronní funkce, musíš ji taky awaitovat, aby se nezačal vykonávat další řádek.
Když si z toho vytvoříš proměnnou typu Date, tak si to pak můžeš formátovat podle libosti.
Vyzkouším, díky.
Myslíš takto?
var date = new Date(result.headers.get('Last-Modified));
Ano.