rnc Posted February 7, 2005 Report Share Posted February 7, 2005 Man ir radies jautājusm par pašu PHP darbību. Tātad, pieņemsim, ka ir cilvēks A un cilvēks B. Ir serveris (S) kuram ir uzinstalēts kaut kāds web serveris ar PHP. Uz servera mētājas skripts (lai labāk izprastu manu jautājumu, pieņemsim, ka šī skripta apstrādei vajag 3sec.). A un B vienlaicīgi S izdara pieprasījumu šim skriptam. Protams, tas vienlaicīgi ir tīri cilvēciska nozīme, tehniski tāpat ir dažu milisekunžu starpība. Katrā gadijumā iznāk tā, ka B izdara pieprasījumu tad, kad serveris vēl nav apstrādājis A pieprasījumu. Kas notiek šajā gadijumā? Vai serveris sāk B pieprasījumu apstrādāt paralēli A pieprasījumam, vai tikai tad kad A pieprasījums ir apstrādāts? Kādēļ man radās šis jautājums? Tādēļ, jo vēlos uzveidot galeriju. Man ir skripts, kas apstrādā (pareizāk sakot samazina bildi) bilde.php, var izmantot šādu variantu.. <img src="bilde.php?path=bumba.jpg" alt="lalal" /> Bet tīri principa pēc, es gribu padot šim bilde.php skriptam, bildes linku tā, lai jūzeri to neredz. Ir ideja to realizēt, izmantojot kādu atsevišku failu. Piemēram, skripts index.php nolasa bildi no direktorijas, bildes linku ieraksta txt failā, pēc tam pieprasa to <img src="bilde.php" />, bet bilde.php to nolasa no ši faila... Ceru, jūs saprotiet, kādēļ ši pirmā jautājuma daļa tāda.. Galerijas risinājums pagaidām nav tas svarīgākais, ziņkāre par pašu PHP darbību.. Link to comment Share on other sites More sharing options...
arnico Posted February 7, 2005 Report Share Posted February 7, 2005 (edited) PHP izpildiis paraleeli abus pieprasiijumus. Bet ja vienalga veelies tai failaa rakstiit vareetu paliidzeet tempnam funkcija! Edited February 7, 2005 by arnico Link to comment Share on other sites More sharing options...
Venom Posted February 7, 2005 Report Share Posted February 7, 2005 uz linuksiem labi strādā flock uz windowiem tas jāsimulē, e.g. no sākuma uztaisa failu faila_nosaukums.tmp, nākošais process pirms rakstīšanas pārbauda - ja ir tāds fails, tad gaida (while file_exists, sleep) t.i. pēc FIFO (first in - first out) metodes Link to comment Share on other sites More sharing options...
bubu Posted February 7, 2005 Report Share Posted February 7, 2005 Kāpēc nevar uzģenerēt kautkādu failu ar random nosaukumu, un viņa nosaukumu ielikt usera sesijas mainīgajā, tad katram lietotājam būs savs fails, un nevajadzēs satraukties, vai tur pieprasījumi reizē izpildās vai nē. Link to comment Share on other sites More sharing options...
rnc Posted February 7, 2005 Author Report Share Posted February 7, 2005 Paldies par ieteikumiem. Škiet, ka nebūs grūti atrisināt problēmu ar informācijas nodošanu otram skriptam. Bet ejot pa ielu, domāju par šo visu :-) un man radās jautājums. Kā tas nākas, ka visām bildēm būs links <img src="bilde.php" />. Tas tak nav reāli? Piemēram, ja man ir skripts: for ($i=0;$i<=10;$i++) echo 'lalala'; Tad sākumā PHP tos visus echo savāc un tad sūta pārlūkprogrammai, vai pēc katras cikla reizes to dara? Tad arī galu galā iznāks tā, ka ja arī man tās informācija ub3rl337i tiks nodota bildes.php skriptam, tad galu galā pārlukprogramma, kad saņems gatavu kodu, pieprasīs bildes.php, bildes.php paņems pēdējo ierakstu no tā txt faila un izģenērēs visur vienādas bildes... Jo dziļāk mežā, jo vairāk koku. Laikam jāizmanto vienkārša metode un viss būs kārtība. Link to comment Share on other sites More sharing options...
Qued Posted February 7, 2005 Report Share Posted February 7, 2005 rnc neglabā bilžu indeksu failā, liec jamo sesijas mainīgajā. Vai arī, lietotājam atverot galeriju, uzģenerē viņam atsevišķu teksta failu ar unikālu nosaukumu un tālāk tikai padod šī faila vārdu - vis atava bilžu infa glabāsies katram lietotājam savā teksta failā. Link to comment Share on other sites More sharing options...
Venom Posted February 8, 2005 Report Share Posted February 8, 2005 for ($i=0;$i<=10;$i++) echo 'lalala';Tad sākumā PHP tos visus echo savāc un tad sūta pārlūkprogrammai, vai pēc katras cikla reizes to dara? beigās, ja vien netiek pielietots flush() (un arī tad ne vienmēr, ja viss notiek aiz proxy) pārlukprogramma, kad saņems gatavu kodu, pieprasīs bildes.php, paņems pēdējo ierakstu un izģenērēs visur vienādas bildes... jāatceras, ka pieprasot k-ko pārlukprogramma sevi var unikāli noidentificēt, ar to pašu sessiju, t.i. katrai pārlūkprogrammas instancei uz servera tiks uzsāknēts atsevišķs process, jebšu varētu teikt atsevišķa bildes.php versija (ar atšķirīgiem ievaddatiem) - nav jādomā par to kā par klasisko programmu-serveri. Link to comment Share on other sites More sharing options...
Recommended Posts