Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]problem z file_get_contents i while :/
fish2000
post 14.06.2009, 00:50:31
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 26.07.2008

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


jak w temacie, ale lepiej to opiszę
próbuję zrobić skrypt, który będzie mi zliczał sumę MB z linków wrzuconych w textarea
na razie jestem przy wyciąganiu danych z linków, i tu mam właśnie problem
mam taki kod

  1. <?php
  2. echo &#092;"\";
  3. $link=$_POST['linki'];
  4. $link=explode(&#092;"\n\", $link);
  5.  
  6. if($_POST['slij'])
  7.    {
  8.    print_r($link);
  9.    $a=0;
  10.    while($link[$a])
  11.        {
  12.        $zrodlo=file_get_contents($link[$a]);
  13.        preg_match('| (.*?)|', $zrodlo, $wielkosc[$a]);
  14.        $a++;
  15.        }
  16.    print_r($wielkosc);
  17.    }
  18. ?>

i wywala mi błąd:
Cytat
Warning: file_get_contents(http://odsiebie.com/pokaz/1406372---bb6e.html
) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in C:\Program Files\WebServ\httpd\odsiebie\index.php on line 18

dodam, że ostatni link jaki wrzucę normalnie przekształca mi sie w to co chcę, ale przy wcześniejszych wywala błąd :/

a tu fota
Kod
http://i40.tinypic.com/25sr629.png


mógłby ktoś pomóc?

Ten post edytował fish2000 14.06.2009, 00:53:54
Go to the top of the page
+Quote Post
Villentre
post 14.06.2009, 00:59:05
Post #2





Grupa: Zarejestrowani
Postów: 21
Pomógł: 10
Dołączył: 14.10.2008
Skąd: 127.0.0.1

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


Witaj,

zerknij na to: http://pl2.php.net/manual/pl/function.file-get-contents.php
Cytat
Jeśli włączona jest dyrektywa konfiguracyjna fopen wrappers, możliwe jest podanie jako nazwy pliku adresu URL. Zobacz opis funkcji fopen() aby dowiedzieć się jak przekazać nazwę pliku, oraz fopen wrappers aby uzyskać listę obsługiwanych protokołów.


Na moje oko masz niepoprawnie skonfigurowany serwer.
Go to the top of the page
+Quote Post
Fifi209
post 14.06.2009, 09:16:36
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Pewnie darmowy hosting i mają zablokowane otwieranie url przez takie właśnie funkcje...

Sprawdź (jeżeli dobrze pamiętam) czy masz faktycznie wyłączone:
allow_url_fopen


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
fish2000
post 14.06.2009, 10:22:41
Post #4





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 26.07.2008

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


Cytat(fifi209 @ 14.06.2009, 10:16:36 ) *
Pewnie darmowy hosting i mają zablokowane otwieranie url przez takie właśnie funkcje...

na razie testuje to na własnym komputerze poprzez webserv (podobny do krasnala)


sprawdziłem plik php.ini i ta opcja jest włączona
Cytat
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On

dodatkowo przerobiłem trochę skrypt z file_get_contents na fopen, lecz błąd jest bardzo podobny
Cytat
Warning: fopen(http://odsiebie.com/pokaz/1407755---3c55.html
) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in C:\Program Files\WebServ\httpd\odsiebie\index.php on line 22

dziwna sprawa :/


tak jak mówiłem, ostatni link z textarea przerabia mi tak jak chcę, lecz przy wcześniejszych wywala błędy :/

Ten post edytował fish2000 14.06.2009, 10:24:35
Go to the top of the page
+Quote Post
Fifi209
post 14.06.2009, 10:31:02
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Znak nowej linii to:
(linux)
\n

(dla windowsa & linuxa)
\r\n

A nie
\n\

Ten post edytował fifi209 14.06.2009, 10:31:19


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
fish2000
post 14.06.2009, 10:38:28
Post #6





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 26.07.2008

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


o dzięki kolego teraz gra i buczy
dzięki wielkie winksmiley.jpg
Go to the top of the page
+Quote Post
domator
post 8.02.2012, 21:30:15
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 25.10.2005

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


Witam,
Panowie mam identyczny problem jaki przedstawił (przed laty) kolega w pierwszym poście.

Ustawienia serwera:
safe_mode = off, allow_url_fopen = on

Wywala mi:
Kod
Warning: file_get_contents(http://adres.pl/tralala.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


i również w pętli (tylko) ostatni link zostaje poprawnie pobrany.

Co muszę zmienić? Kod na pewno jest dobry, bo na innym hostingu mi działa, a na innym już nie. Jakie parametry serwera są jeszcze istotne dla poprawnego wykonania zapytania?

Będę wdzięczny za wskazówki. Pozdrawiam
Go to the top of the page
+Quote Post
by_ikar
post 9.02.2012, 08:33:10
Post #8





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Cytat
404 Not Found

Adres który próbujesz "otworzyć" przy pomocy file_get_contents zwraca błąd 404 - brak pliku. Co musisz zmienić? Podać adres do strony która nie zwraca 404. Wklej link który próbujesz otworzyć do przeglądarki i sprawdź czy podany adres jest prawidłowy.
Go to the top of the page
+Quote Post
domator
post 9.02.2012, 10:44:50
Post #9





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 25.10.2005

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


Pisałem, że działa na innym hostingu :-)

A czy strona istnieje to sprawdzałem w pierwszej kolejności. ZAWSZE wykonuje tylko ostatnie zapytanie pętli poprawnie.

EDYTA: Dla potomnych, pomogło dodanie trim:
Kod
file_get_contents(trim($url));


...dziwne, że na jednym hoście działa bez tego, a na drugim już nie. Pewnie zależy czy stoi na Linuxie czy Windowsie tj. różny znak dla nowej linii (jak wspomniał @Fifi209)

Ten post edytował domator 9.02.2012, 14:59:11
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 15:09