Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Chce Include z zewnętrznej domeny zwracające zmienną
Forum PHP.pl > Forum > PHP
pauluZ
Ponieważ include() nie działa często z zewnętrznej domeny
(np. include('http://www.example.com/file.php'); )

potrzebowałbym jakiś inny sposób aby po wykonaniu includowania z zewnętrznej domeny
mieć w swoim skrypcie zmienną jakąś tam stworzoną.
Nawet gdy działa include() czyli mamy w PHP.INI : allow_url_include On
to zewnętrzna domena sprawia że nie wracają do mnie zmienne z tego zewnętrznego skryptu.

Miałby ktoś pomysł jak dostać zmienne z zewnętrznej domeny questionmark.gif

Albo co jest takiego co zabrania takiemu działaniu ?


Nie działa mi na przykład (na ekranie mam NULL):
  1. <?php
  2. // plik dzialaj.php
  3. include('http://localhost/zmienne.php');
  4. var_dump($str);
  5. ?>
  6. <?php
  7. // plik zmienne.php
  8. $str = 'wartosc';
  9. return $str;
  10. ?>
Kuziu
jak juz to musialbys to chyba zrobic przez echo a nie przez return, a do takich rzeczy chyba bardziej pasuje użyć curl
Cysiaczek
Odpowiedz sobie na pytanie, co zwraca Ci wywołanie strony http://forum.php.pl. Zwraca Ci jakąś zmienną użytą w kodzie naszego serwisu? Nie, zwraca wynik działania skryptu, czyli różne css, html itd, prawda? Dlatego inkludując coś z poprzez protokół http nie dostaniesz nic ponadto, co wchodząc normalnie w przeglądarce.
jwest
Z tego co wiem ja nie za bardzo można includować pliki zewnętrzne, natomiast jak najbardziej można używać czegoś np. takiego:

  1. <?php
  2. //plik config.php
  3. return array(
  4. 'config1' => true,
  5. 'config2' => false,
  6. 'config3' => 'jakieś ustawienia',
  7. );
  8. ?>
  9.  
  10. <?php
  11. $tab = include('config.php');
  12. var_dump($tab);
  13. ?>


I wszystko ładnie śmiga smile.gif
pauluZ
Jeśli masz plik confog.php na tym samym serwerze co główny plik PHP to Twoje includowanie nie potrzebuje wykonywać return.
Dostaniesz zmienną po prostu po includzie w swoim głównym pliku. Sprawa jest prosta i naturalna.
Mnie interesowało coś takiego że mogę includować pliki z zewnętrznych serwerów i sobie coś ustawiać (zmienne, tablice, etc ...)
u siebie - jednak teraz już rozumiem że wywołania po protocol'e HTTP po prostu nie zwrócą mi struktur zmiennych PHP'owych

Szukam jakiegoś sposobu aby móc korzystać z czyiś ustawień (gdzieś na zewnętrznych serwerze).
Nie pozostaje mi chyba nic innego jak na tym zewnętrznym serwerze rozbudować plik PHP i zwracać w formie już tekstowej
(przez np. echo) wyniki.

No nic - ostro kombinuję smile.gifsmile.gifsmile.gif
karis
Cytat
Nie pozostaje mi chyba nic innego jak na tym zewnętrznym serwerze rozbudować plik PHP i zwracać w formie już tekstowej
(przez np. echo) wyniki.


Przecież kod się wtedy nie wykona i będziesz miał wyświetlony kod php na ekranie.

Do tego użyj funkcji eval
Fifi209
Napisz sobie jakieś WebAPI
kiler129
Do przekazywania obiektów via HTTP nie używa się dziwnych include z generowanym dynamicznie kodem php (o zgrozo!) tylko json_encode oraz json_decocode po stronie klienta.
Jeśli potrzebujesz zachować typ danych użyj serialize oraz unserialize.

To jedyny dobry, łatwy i szybki sposób przekazywania tablic jako tekst po http.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.