Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » rurecznik 12:31
 » malyy 12:30
 » Conan Bar 12:29
 » rooter666 12:24
 » Artaa 12:22
 » dulik 12:22
 » w1lko 12:17
 » cVas 12:15
 » piszczyk 12:09
 » NWN 12:06
 » Dexter 12:00
 » McWandal 11:56
 » Kosiarz 11:53
 » yeger 11:52
 » KHot 11:51
 » Dhoine 11:47
 » Kenny 11:40
 » exmac 11:39
 » RM.Harry 11:34
 » Sherif 11:33

 Dzisiaj przeczytano
 25502 postów,
 wczoraj 61370

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2026
A R C H I W A L N A   W I A D O M O Ś Ć
    

[OT] PHP - problem z include , OzA 27/10/04 15:13
witam

problem mam następujący:

na serwerze AAA jest plik BBB.php a w nim ustawiona zmienna $CCC=1
chciałbym w pliku na serwerze DDD pobrać informację jaką wartość ma zmienna $CCC w pliku BBB.php na serwerze AAA
na obu serwerach zmienna allow_url_fopen jest ustawiona na ON ON
na serwerze DDD mam plik EEE.php a w nim linijkę include (\"http://AAA/BBB.php\");
niestety zostaje wyświetlony komunikat:
Warning: main(): Failed opening \'http://AAA/BBB.php\' for inclusion (include_path=\'.:/:/usr/pear\') in /EEE.php on line 3


ktoś mi pomoże jak można ściągnąc informację o wartości zmiennej w zdalnym pliku na zdalnym serwerze?

Heeeeeellllllppppppp

I sniffed Coke...
but the ice cubes
got stuck in my nose

  1. hmmm , akustyk 27/10/04 15:18
    http://pl.php.net/manual/en/function.include.php

    i czytac od:
    "If "URL fopen wrappers" are enabled..."

    http://akustyk.magma-net.pl

  2. No co ty robisz... , pachura 27/10/04 15:20
    Zmień nazwę BBB.php na BBB.inc. Skrypt nie będzie parsowany przez moduł PHP.

    Ale wiedz że to co robisz jest na 99% kompletnie chore i należy to rozwiązać zupełnie inaczej... m.in. dlatego że przy otwieraniu strony WWW moduł PHP musi się łączyć z innym serwerem, co zajebiście spowalnia, nie mówiąc o wystawianiu całemu światu zawartości Twoich skryptów (w środku mogą być np. hasła).

    1. hmm , akustyk 27/10/04 15:33
      wlasnie dlatego wrzuca sie takie rzeczy w *.php a nie *.inc, zeby nie bylo wystawiania calemu swiatu danych. a w include-owanym pliku mozna dodac bramke logiczna sprawdzaja ustawienie pewnej zmiennej. i jesli nie przejdzie isset($zmienna), dla zmiennej zdeklarowanej w skrypcie glownym, to include-owany skrypt wywala blad exitem.

      a ze wolne, to sie zgodze. no, ale jesli trzeba...

      http://akustyk.magma-net.pl

      1. Tak się nie da, według mnie... , pachura 27/10/04 15:48
        Nie wyobrażam sobie konstrukcji takiej bramki logicznej. Nie da się wyłączyć wykonywania pliku .PHP od pewnego momentu a tylko wysyłanie go "as is". Plik BBB.php zostanie wykonany przez serwer www na hoście AAA, a dopiero potem wysłany jako include, ale to już nie będzie kod PHP tylko wynik jego działania... poza tym, BBB.php nie będzie miał dostępu do zmiennych z EEE.php, a jedynie do zmiennych GET/POST.

        Od biedy możnaby napisać coś takiego:
        if (!isset($_REQUEST['jestem_skryptem'])) die();
        echo <<<__EOF__
        // tutaj kod do zaincludowania
        // ale trzeba escape'ować dolary etc.
        // więc bez sensu i tak
        __EOF__;

  3. hmm , akustyk 27/10/04 15:56
    masz racje. jesli plik jest wyciagany ze zdalnego serwera do przetworzenia na biezacym to jest tak jak piszesz.

    w taki sposob jak napisalem, trzeba by po prostu wywolac zapytanie z serwera biezacego na zdalny o __wynik__ pliku BBB.php. czyli nie tresc. a to jest bez sensu, bo wtedy zadnych zmiennych PHP sie juz nie wykorzysta.

    jedyne rozsadne rozwiazanie to w takim przypadku jakas transakcja SSL. a to juz malo, ze bezsensowne, co jeszcze katastrofalne z punktu widzenia szybkosci...

    http://akustyk.magma-net.pl

  4. trochę wyjaśnień , OzA 27/10/04 16:05
    otóż plik BBB.php nie mogę zmienić na .inc, bo ja tylko z niego odczytuję. Plik potrzebny jest do całej masy innych skryptów pisanych przez kolegę na jego serwerze (serwer newsów). Zmieniając plik na INC musiałby kolega cały system newsów przerobić - ODPADA

    plik BBB.php nazywa się w oryginale config.php Absolutnie nic nie wyświetla Zawiera 15 linijek zmiennych z których jest mi potrzebna właśnie jedna więc o czas wykonania config.php nie musimy się aż tak bać bo przypisać 15 zmiennym jakąś wartość to dla serwera pryszcz

    a.d. pachura z 15:48 -> nic nie kumam co napisałeś
    co to jest to "jestem skryptem". domyślam się że trzeba to wpisać do pliku BBB.php na serwerze AAA czyli u kolegi. jednak jak wspomniałem na początku nie jest to możliwe, plik istnieje ponad rok i zbyt dużo od niego zależy by go zmieniać.
    jeśli się nie da to napiszcie że NIEMOŻLIWE a jeśli możliwe to w pliku EEE.php można pisać 1000 linijek kodu byleby nie ruszać BBB.php

    czekam na sugestie

    I sniffed Coke...
    but the ice cubes
    got stuck in my nose

    1. hmm , akustyk 27/10/04 16:16
      sugestia: zrobic kopie pliku na wlasnym serwerze. jezeli plik BBB.php sie czesto zmienia, to napisac skrypt pobierajacy go np. wget-em i wstawic do cron-a

      http://akustyk.magma-net.pl

      1. taaa... jasne... , OzA 27/10/04 16:20
        troszkę jaśniej?

        I sniffed Coke...
        but the ice cubes
        got stuck in my nose

    2. No więc... , pachura 27/10/04 17:09
      "Zmieniając plik na INC musiałby kolega cały system newsów przerobić - ODPADA"

      Przecież może po prostu go skopiować do tego samego katalogu jako .inc i tyle...

      "o czas wykonania config.php nie musimy się aż tak bać bo przypisać 15 zmiennym jakąś wartość to dla serwera pryszcz"

      Wydaje mi się że jesteś początkującym programistą i nie rozumiesz za bardzo tych mechanizmów... spowalniać będzie połączenie jednego serwera www z drugim, nawiązywane za każdym razem...

      "jeśli się nie da to napiszcie że NIEMOŻLIWE a jeśli możliwe to w pliku EEE.php można pisać 1000 linijek kodu byleby nie ruszać BBB.php"

      Chodzi o to że nie jesteś w stanie dobrać się do kodu PHP w pliku BBB.php bo serwer www na zdalnym hoście WYKONUJE go i wypluwa tylko wynik, a nie niespardowany kod PHP. Proste?

  5. hmm , akustyk 27/10/04 16:25
    a co jest niejasne? skopiowac chyba umiesz? wpisac w Google wget i cron chyba tez?

    http://akustyk.magma-net.pl

    1. dobra... dobra... , OzA 27/10/04 16:37
      wiele razy był poruszany ten wątek: "google to google tamto"
      ja jestem na forum TPC a nie na forum google!
      nie jestem leniem bo zanim zadałem to pytanie na forum TPC męczyłem się z googlami i innymi forami ładnych parę godzin ale nie przyniosło skutku.
      źle szukałem? nie sądzę, wszystko w necie jest opisane ogólnikowo a ja raczej swój problem traktuję wyjątkowo (zresztą jak większość boardowiczów). w google nikt nie napisał, że nie da się odczytać jaką wartość ma zmienna na zdalnym serwerze tylko są informacje że include działa zdalnie. na tym koniec.
      zadałem je tu i bo pomyślałem że otrzymam odpowiedź choćby od samego DYD lub webmastera TPC.
      nie jest mi jej w stanie nikt dać? OK. dziękuję za same chęci.
      ale odpowiedź typu "poszukaj na google" rozbraja, serio :/

      recpect
      no offence

      I sniffed Coke...
      but the ice cubes
      got stuck in my nose

      1. jaka wersje PHP macie? , Grocal 27/10/04 18:05
        cytat z opisu funkcji include()

        "PHP w wersji starszej niż 4.3.0, pracujące pod kontrolą systemów Windows, nie obsługują dostępu do zdalnych plików w tej funkcji, nawet jeśli opcja allow_url_fopen jest włączona."

        tak to wyglada w Twoim przypadku (tak bym interpretowal wyskakujacy blad)

        A do tego - tak jak napisal pachura - nawet jesli mechanizm includowania zadziala, to w miejsce include Twojego skryptu wejdzie WYNIK parsowania pliku .php na serwerze kolegi...

        Innymi slowy jezeli u kolegi jest plik z taka trescia (i jest pelnoprawnym plikiem php parsowanym przez phpa po stronie serwera):

        // plikkolegi.php
        $zmienna = 'test';
        echo 'Nic ci sie tu nie wpisze';

        a w Twoim pliku bedzie:

        // twojplik.php
        include ('http://serwer.com/plikkolegi.php');

        to w miejsce tego include pojawi sie napis >>Nic ci sie tu nie wpisze<<

        jezeli jednak plik kolegi NIE BEDZIE parsowany przez phpa tylko po wpisaniu w przegladarke wyswietli swoja tresc, to include sie uda i bedziesz mial w jego miejscu dokladnie tresc pliku kolegi. Niestety nie jest to tak b. bezpieczne...

        Ot i cala filozofia! I nie denerwuj sie tak OzA... zycie jest za krotkie ;)

        Na pewno, na razie, w ogóle...
        Naprawdę, naprzeciwko, stąd...
        Ortografia nie gryzie!

        1. respect , OzA 27/10/04 23:11
          wersja 4.3.3

          a jeśli się uniosłem to przepraszam ale naprawde denerwują mnie odpowiedzi typu "...google..."

          szacuneczek wszystkim
          i podziękowania

          I sniffed Coke...
          but the ice cubes
          got stuck in my nose

          1. wszystko gra OzA - don't worry! , Grocal 28/10/04 19:35
            123 Gooood Job!

            Na pewno, na razie, w ogóle...
            Naprawdę, naprzeciwko, stąd...
            Ortografia nie gryzie!

    
All rights reserved ® Copyright and Design 2001-2026, TwojePC.PL