Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: ZAJDAN 29. 04. 2016, 10:07:31

Název: PHP 'proccess status' -> Ajax
Přispěvatel: ZAJDAN 29. 04. 2016, 10:07:31
Ahoj...
ajaxem odesílám xml(svg) do php ktere to zpracuje a ulozi do souboru na serveru. Pokud si v Ajaxu na success dam funkci
success: function(data){  alert(data);},
a do php dam echo az nakonec, vybehne mi ten alert skutecne az kdyz je soubor plne ulozen?
nejsem si jist jak PHP zpracovava kod
....zda echo vrati az kdyz ma vsechny predesle procesy hotove. V php soubor ukladam pomoci fopen, fwrite

diky
Název: Re:PHP 'proccess status' -> Ajax
Přispěvatel: to_je_jedno 29. 04. 2016, 12:09:42
php jede linearne bez vlaken, pokud ta data neposles do nejakyho jinyho procesu a mas osetrene ze ukladani nespadne treba na pravech filesystemu tak ti to echo dava skutecne az probehne vse predchozi
Název: Re:PHP 'proccess status' -> Ajax
Přispěvatel: Ondrej Nemecek 29. 04. 2016, 13:30:16
No ještě ten soubor určitě zavřete fclose() To ale asi děláte. Pokud byste nedělal, mohl by se možná zavřít automaticky po skončení skriptu, což je až po tom echo.

Soubor máte jedinečný, aby nedošlo k nějakému konkurenčnímu zápisu, že? Můžete si ho pro jistotu zamknout, člověk nikdy neví.

Samotný fsync si z php asi nezavoláte, jedině pomocí exec() a to jen pokud operační systém něco jako příkaz sync obsahuje.

Název: Re:PHP 'proccess status' -> Ajax
Přispěvatel: ZAJDAN 29. 04. 2016, 13:56:15
diky vsem za reakce...
ano fclose pouzivam
ovsem jedinecnost souboru ne a to proto ze jeden  php script ten soubor(xml/svg) prevezme a ulozi a druhy php script ho vlozi do generovaného PDF. Nemám zkusenost jak si mezi temito PHP scripty predat nazev souboru(dejme tomu s nahodne generovanym prefixem) .
Název: Re:PHP 'proccess status' -> Ajax
Přispěvatel: to_je_jedno 29. 04. 2016, 14:20:04
tak to je skutecny fail.

zkus pouzit treba DB, session id nebo whatever