Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana] Wykonanie pliku php z wyświetleniem komunikatu w tle lub generowanie pliku XML, W jaki sposób wykonać instrukcje PHP bez przeładowania strony
mxm
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 9.06.2005

Ostrzeżenie: (0%)
-----


Witam serdecznie.

Mam duży problem ze znalezieniem rozwiązania na temat w jaki sposób we frameworku PHP Kohana wraz z zainstalowanym Angularem:
- wykonać instrukcje z pliku PHP (w moim przypadku jest to przygotowanie danych do XML wraz z połączeniem się do bazy danych).
- w przypadku błędu - wyświetlenie w postaci komunikatu JSON::status - komunikat w tle (aby było to możliwe nie mogę przeładować strony)
- w przypadku braku błędów - rozpoczęcie procedury generowania i pobierania pliku XML (czyli, żeby pojawiło się okno pobrania pliku w przeglądarce).

Nie będę tego robił od początku, ale chciałbym modyfikować istniejący już kod.

Byłbym wdzięczny za naprowadzeniem mnie na pomysł w jaki sposób to zrealizować. Nie jestem aż tak dobrze zaznajomiony z Angularem, ale bez niego chyba się nie uda.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sabat24
post
Post #2





Grupa: Zarejestrowani
Postów: 175
Pomógł: 26
Dołączył: 13.09.2007
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Generalnie tak. To też zależy jakiej wielkości jest to plik i ile trwa jego wygenerowanie. Jak jesteś w stanie wygenerować plik "od ręki" to możesz zakodować go w base64 i przesłać do angulara w odpowiedzi. Wtedy kontroler zwraca odpowiedź np. takiej tablicy JSONem:
  1. ['status' => 1, 'file' => base64_encode($file)]


albo

  1. ['status' => 0, 'error' => 'komunikat błędu']


W angularze czekasz na odpowiedź i w przypadku jej prawidłowego otrzymania i w zależności od status, wywołujesz pobieranie pliku albo pokazujesz komunikat.

Jak plik jest większy albo musisz go kolejkować, czyli angular musi czekać np. minutę aż się plik skończy generować, trzeba trochę dodać logiki, ale zasada komunikacji jest zawsze taka sama.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 02:32