Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: include pliku ze zdalnego serwera
Forum PHP.pl > Forum > PHP
gantel
Hejka
Mam kilka serwisow znajduja sie one na jednym serwerze ale podpiete do roznych domen i niestety sa traktowane jak na odzielnych serwerach i nie moge normalnie zaincludowac, a URL fopen wrappers jest wylaczone.

We wszystkich serwisach chcialem uzyc jednej funkcji, to do czego sluzy jest nie istotne. Plik ze wspomniana funkcja znajduje sie na jednym z serwisow i teraz pytanie.

Jak zaincludowac ten plik tak abym mogl normalnie uzywac tej funkcji.

Uzywam czegos takiego co znalazlem w manualu ale to ma chyba zastosowanie tylko do samego htmla

  1. <?php
  2. $fnko=fopen($adres, "r");
  3.  
  4. while (!feof ($fnko)) {
  5.  
  6. $buffer = fgets($fnko, 4096) or die("Bląd przy odczycie");
  7.  
  8. echo($buffer);
  9.  
  10. }
  11. ?>


Gdy chce uzyc funkcji wyswietla mi

Fatal error: Call to undefined function: nk() in /t.php on line 8


W funkcja w pliku jest normalnie napisana w <? ?>, gdy usune te znaczniki to skrypt includujacy wyswietli mi poprostu kod funkcji.

Pomozcie :-)
nasty
no bo widzisz, jak includujesz plik php nie lokalnie (nie podając lokalnej ścieżki do niego) to najpierw przechodzi przez parser php i zwraca ci wynik tego parsowania, w ten sposób sobie ni zincludujesz zdalnej funkcji,

rozwiązań jest kilka:
1) postaw wszystkie pliki php na jednym serwerze i includuj je ich lokalnym pathem

2) jak nie masz wyjścia i musisz to postawić na zdalnym serwerze to mozesz skorzystać z web services.

3) zmień extension dla includowanych (zdalnych) plików z php na np. txt, ale uwaga to jest najgorsze i najniebezpieczniejsze rozwiązanie, bo każdy może podejrzec zrodlo pliku.

Pozdrawiam
gantel
nasty tzn wiesz moge wstawic ten plik z funkcja na kazdy serwer, ale bede chcial cos zmienic i musze zmieniac w 9 plikach, a wolalbym miec jeden.

zmienilem rozszerzenie na txt ale teraz nawet nie wyswietla kodu funkcji a tym bardziej jej nie da sie uzyc
nasty
Cytat
nasty tzn wiesz moge wstawic ten plik z funkcja na kazdy serwer, ale bede chcial cos zmienic i musze zmieniac w 9 plikach, a wolalbym miec jeden.

Nie mi chodzilo zebys postawil je wszystki na jednym serwerze tzn. na jednej domenie i bedziesz includowal tak
  1. <?php
  2. include('sciezka/do/pliku.php');
  3. ?>

a co do .txt, wywolaj plik .txt przegladarka i zobacz co ci wychodzi.
gantel
chyba sie nie rozumiemy
wszystkie domeny fizycznie sa na jedym serwerze
katalog glowny wyglada tak

/serwis1
/serwis2
/serwis3
/serwis4

ale np domeny:

serwis1.pl
serwis2.pl

sa traktowane jakby byly na innych serwerach

zalozmy z plik z ta funkcja jest w katalogu /serwis1/funkcja.php

include na serwis1.pl to wiadomo

w serwis2.pl

  1. <?php
  2. include"../serwis1/funkcja.php";
  3. ?>


TO NIE DZIALA ! serwer nie pozwala
nasty
Cytat
TO NIE DZIALA ! serwer nie pozwala

Jaki ci blad wyskakuje ?

bo jak server nie pozwala (Access Denied) to chmodnij te pliki...
gantel
najprostszy blad poprostu ze nie ma takiego pliku

failed to open stream: No such file or directory in

nie da sie tego zrobic jakos fopen i pozniej echo tego co z czytalo ? tylko jak ?
nasty
eee, jak tak to sprawdz czy dajesz poprawne sciezki do tych plikow ...
gantel
nasty nie wkrecaj mi mowie Ci ze mam tak serwer zkonfigurowany bo gadalem z adminem i nie zmieni tego
bo to home.pl

czy jest jakies wyjsc e ztego problemu czy poprostu robic 9 plikow na kazdej domenie osobno ?
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.