Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zdalne dołączenie pliku ?
Forum PHP.pl > Forum > Przedszkole
kondziu9516
Witam,
Mam podstrony w sposób jak widać na poniższym kodzie.

Moje pytanie.
Jak zrobić, żeby dołączyć np.
require("spis.php");

chciałbym aby dołączyć np: http://mojastrona.pl/02110/admin/oferty/spis.php
Jak to zrobić ? co_jest.gif

Oczywiście daje +++

  1. switch($_GET['s'])
  2. {
  3. case 'przeglad-ofert' :
  4. require("przeglad.php");
  5. break;
  6.  
  7. case 'spis-ofert' :
  8. require("spis.php");
  9. break;
  10.  
  11. case 'nowa-oferta' :
  12. require("nowa-oferta.php");
  13. break;
  14.  
  15. case 'nowa-oferta-dodaj' :
  16. require("nowa-oferta-dodaj.php");
  17. break;
  18.  
  19. case 'podglad-oferty' :
  20. require("podglad-oferty.php");
  21. break;
  22.  
  23. case 'edycja-oferty' :
  24. require("edycja-oferty.php");
  25. break;
  26.  
  27.  
  28.  
  29. default:
  30. require("przeglad.php");
  31. break;
  32. }
  33.  
  34.  
  35.  
IProSoft
require("/02110/admin/oferty/spis.php");
questionmark.gifquestionmark.gif?
Z url nie załączyć pliku PHP
kondziu9516
No właśnie ale jak adres zewnętrzny, nie na tym samym koncie ?

Przykładowo stronę mam: stronamoja.pl
A chce dodać innastrona.pl/itd...
kondziu9516
dzięki, tylko jak to zastosować ?
O co chodzi z tym <title>

  1. $file = fopen ("http://mojastrona.pl/02110/admin/oferty/", "r");
  2. if (!$file) {
  3. echo "<p>Nie można otworzyć zdalnego pliku.\n";
  4. }
  5. while (!feof ($file)) {
  6. $line = fgets ($file, 1024);
  7. /* Zadziała tylko wtedy, gdy tytuł i jego znaczniki są w tej samej linii */
  8. if (preg_match ("@\<title\>(.*)\</title\>@i", $line, $out)) {
  9. $title = $out[1];
  10. break;
  11. }
  12. }
  13. fclose($file);


próbowałem też tak:

  1. <?php
  2.  
  3. $file = fopen ("http://stronye-net.pl/cms/02110/admin/oferty", "r");
  4. if (!$file) {
  5. echo "<p>Nie można otworzyć zdalnego pliku.\n";
  6. }
  7.  
  8. ?>


błąd:

Warning: fopen(http://mojastrona.pl/02110/admin/oferty) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/xxx/domains/xxx/public_html/demo/admin/oferty/index.php on line 3
Nie można otworzyć zdalnego pliku.
nospor
Cytat
O co chodzi z tym <title>
To się nazywa bezmyślne kopiowanie przykładu....
Przecież w manualu napisali wyraźnie, że podany tam przykład będzie pobierał tytuł ze zdalnej strony. Jak ty nie potrzebujesz tytułu to olej pobieranie tytułu....

Cytat
błąd:

Warning: fopen(http://mojastrona.pl/02110/admin/oferty) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/xxx/domains/xxx/public_html/demo/admin/oferty/index.php on line 3


Wchodząc na link co sam podałeś:
http://stronye-net.pl/cms/02110/admin/oferty
Widać wyraźnie, że jest tam potrzebne zalogowanie do serwisu by coś z niego pobrać....
Jeśli chcesz coś pobierać ze stron, które wymagają autoryzacji, musisz się wpierw zalogować, a dopiero potem pobrać to co chcesz. Możesz to osiągnąć jedynie przy użyciu cURL i umiejętności czytania ze zrozumieniem manuala.
kondziu9516
No dobra...
ale jak zrobię żeby logowanie odbywało się już też na tym: http://stronye-net.pl/cms/02110/admin/
to nie działa dalej ?

  1. <?php
  2.  
  3. $file = fopen ("http://stronye-net.pl/cms/02110/admin/", "r");
  4. if (!$file) {
  5. echo "<p>Nie można otworzyć zdalnego pliku.\n";
  6. }
  7.  
  8. ?>
nospor
Dostajesz komunikat:
"Nie można otworzyć zdalnego pliku"
? Nie? Znaczy że wszystko działa. Co ci nie działa i czym się to objawia?
kondziu9516
pustą stroną ;/
nospor
No i prawidłowo. Nic nie wyświetlasz więc czemu oczekujesz że coś dostaniesz? Skoro używasz fopen, to by pobrać zawartość masz użyc fread()/fgets() - to wszystko masz wyjaśnione i pokazane w linku który dostałeś na samym początku. Używaj za przeproszeniem głowy i czytaj co masz napisane w manualu. No bez tego nic nie zrobisz.
kondziu9516
Okej może jaśniej :

Mam taki plik index.php :

  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3.  
  4. if (!isset($_SESSION['login'])) { // dostęp dla niezalogowanego użytkownika
  5.  
  6. $file = fopen ("http://stronye-net.pl/cms/02110/admin/", "r");
  7. if (!$file) {
  8. echo "<p>Nie można otworzyć zdalnego pliku.\n";
  9. }
  10.  
  11.  
  12. } else {
  13. $file = fopen ("http://stronye-net.pl/cms/02110/admin/oferty/", "r");
  14. if (!$file) {
  15. echo "<p>Nie można otworzyć zdalnego pliku222.\n";
  16. }
  17.  
  18. }
  19.  
  20. ?>



a błąd teraz wyskakuje taki:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/konrad95x/domains/hauspremium.pl/public_html/demo/admin/index.php:1) in /home/konrad95x/domains/hauspremium.pl/public_html/demo/admin/index.php on line 2

Warning: fopen(http://stronye-net.pl/cms/02110/admin/oferty/) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/konrad95x/domains/hauspremium.pl/public_html/demo/admin/index.php on line 14
Nie można otworzyć zdalnego pliku222.
nospor
Mówiąc, że masz się zalogować miałem na myśli zalogowanie na stronie http://stronye-net.pl przez serwer PHP.
POWTARZAM PORAZ KOLEJNY:
by tego dokonac masz użyć CURL. By pobrać zawartośc w tak zalogowanym serwisie również masz użyć CURL.
kondziu9516
Okej rozumiem.
Ale czy nie można zrobić, że logowanie dołączyć od razu ?

Plik index już podałem wyżej.
Wcześniej wyglądał tak:

  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3.  
  4. if (!isset($_SESSION['login'])) { // dostęp dla niezalogowanego użytkownika
  5.  
  6. header('Location: login.php ');
  7.  
  8.  
  9. } else {
  10. header('Location: oferty/ ');
  11.  
  12. }
  13.  
  14. ?>


Jak zrobić, że po wejściu od razu dołącza http://stronye-net.pl/cms/02110/admin/
i dopiero tam się loguje.

działa poprzez header location, ale to przenosi.... a chce bez przenoszenia.
da sie ?
nospor
Zrozum: chcąc popbrać coś w php, ze strony która wymaga logowania, masz użyć cURL. Tyle w temacie. I żadne twoje kombinowanie nic tu nie zmieni.
kondziu9516
No dobrze, ale jakby logowanie odbywało się dopiero na tamtej stronie ?
nospor
No i co? Logowanie zrobisz przez przeglądarkę, a dane chcesz pobrać przez skrypt php. Co ma piernik do wiatraka? smile.gif
kondziu9516
Dobra trudno smile.gif
Zostanę tak jak jest bo nie ogarniam biggrin.gif
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.