![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chciałem zapytać o taką rzecz. Mam 1 skrypt, który na końcu zapisuje wyniki do pliku txt. Chcę zrobić żeby był wywoływany z kilku podstron przez polecenie.
Oczywiście można by zrobić ten sam skrypt dla każdej strony oddzielnie edytując jedynie do jakiego pliku miałby zapisywać wynik. Ale po co? Problemu by nie było gdyby ten skrypt zapisywał wynik do jednego pliku. Ja natomiast chcę zrobić to trochę inaczej. Załużmy, że w tej chwili wywołuje ten skrypt ze podstrony 2: Wywoływanie skryptu z konkretnej podstrony. Podstrona 1 Podstrona 2 (wywołuje skrypt przez <?php include("skrypty/skrypt.php"); ?>) Podstrona 3 Budowa skryptu. Skrypt w jakiś sposób namierza z której podstrony został wywołany. ------------------------------------------------------------- Skrypt właściwy wykonuje operacje ------------------------------------------------------------- Zapis do pliku txt 1 Zapis do pliku txt 2 (zapisuje wynik do pliku txt 2) Zapis do pliku txt 3 Wyświetla wyniki poprzez echo Odczyt pliku txt 1 Odczyt pliku txt 2 Odczyt pliku txt 3 Zastanawia mnie jeszcze jedna rzecz. Czy skrypt się nie sypnie jeżeli w jednoczesnym czasie zostanie wywołany z co najmniej dwóch podstron jednocześnie. Może da się temu jakoś zapobiec. Mam nadzieję, że w miarę jasno wytłumaczyłem. (IMG:http://forum.php.pl/style_emoticons/default/tiredsmiley.gif) Ten post edytował Szunaj85 29.05.2008, 15:42:40 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Nie możesz includować plików pomiędzy serwerami, możesz wywoływać skrypt przez adres z odpowiednimi parametrami tylko na jednym serwerze.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Źle zrozumiałeś. Operacja ma być wykonywana na jednym serwerze.
Właściwie to ja popełniłem błąd, ale już poprawiłem. Ten post edytował Szunaj85 29.05.2008, 13:42:37 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Źle zrozumiałeś. Operacja ma być wykonywana na jednym serwerze. No to po co napisałeś, że strona odpala skrypt za pomocą
z tego wynika że będzie includowany przez różne serwery.. mniejsza o to. Co do Twojego pytania o dostęp jednoczesny kilku stron poczytaj w manualu o flock" title="Zobacz w manualu PHP" target="_manual |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 15 Dołączył: 10.12.2007 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Zakładając, że obie strony znajdują się na jednym serwerze, to możesz includować plik na wielu stronach. Niby można includować też pliki z zewnętrznych stron, ale ze względów bezpieczeństwa, możliwość taka jest zazwyczaj wyłączona.
W samym skrypcie żeby rozpoznać z jakiej strony został wywołany - możesz się posłużyć się tablicą $_SERVER, tam są elementy takie jak:
z tego wynika że będzie includowany przez różne serwery.. mniejsza o to. Co do Twojego pytania o dostęp jednoczesny kilku stron poczytaj w manualu o [manual\]flock\[/manual\] Jak dla mnie to nie wynika z tego, że będzie includowany przez różne serwery, ale mniejsza o to. Jeśli skrypt ma być tylko uruchamiany, to nie ma potrzeby go blokować w żaden sposób, bez problemu wykona się 2 i 10 razy w tym samym czasie. Jeśli chodzi o blokowanie pliku, do którego dane są zapisywane, to jeśli dane do pliku są dodawane na końcu, to plik powinien być otwarty za pomocą fopen('path_to_file', 'a'). Wtedy nie należy się martwić o blokowanie, bo mechanizm php sam sobie z tym radzi (operacja taka jest atomowa i nie szkodzi niczemu) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 00:49 |