Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]Nie mogę wyświetlić zawartości zmiennej
--Mobi--
post 30.07.2011, 16:33:55
Post #1





Goście







  1. $nazwa = file_get_contents($i);
  2.  
  3. print_r($nazwa);
  4. var_dump($nazwa);
  5.  
  6. if (preg_match('/jabłko/ims',$nazwa)) {
  7. echo "znaleziono słowo"; }
  8. else { echo "nic nie znaleziono"; }


Mimo, iż zmienna zawiera dane, bo gdy na stronie linkowanej jest słowo 'jabłko' dostaję info, że słowo jest znalezione, a gdy go nie ma dostaję info, że nie ma tego słowa, to jednak
za chiny nie mogę wyświetlić tej zmiennej.

Print_r() nic nie zwraca, a var_dump() zwraca: bool(false).

Jak to ma się do tego, że w zmiennej jest content questionmark.gif
Dlaczego nie mogę go wyświetlić, natomiast mogę na nim operować za pomocą preg_match ?




Go to the top of the page
+Quote Post
peter13135
post 30.07.2011, 16:44:39
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


coś oszukujesz. Daj więcej kodu.


--------------------
:)
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 17:36:14
Post #3





Goście







Proszę:

  1.  
  2. $sql = 'SELECT id, link FROM `m` WHERE id < 3358608 and id > 3358494 ;' ;
  3.  
  4.  
  5. $resultx = mysql_query($sql);
  6.  
  7.  
  8. if(mysql_num_rows($resultx) > 0) {
  9.  
  10.  
  11. while($row123 = mysql_fetch_assoc($resultx))
  12.  
  13. {
  14.  
  15. echo $id=$row123['id'];
  16. echo " ";
  17.  
  18. $i=trim($row123['link']);
  19. echo "<a href='".$i."'>".$i."</a>";
  20.  
  21. $nazwa = file_get_contents($i);
  22.  
  23.  
  24. if (preg_match('/jabłko/ims',$nazwa)) {
  25.  
  26. echo "znaleziono słowo"; }
  27.  
  28. else { echo "nic nie znaleziono"; }
  29.  
  30.  
  31. }
  32.  
  33.  
  34. }
  35.  
  36.  
Go to the top of the page
+Quote Post
zamper
post 30.07.2011, 18:08:06
Post #4





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


Na samym początku tego pliku napisz:



Spróbuj zadać takie coś:
  1. $sql = "SELECT id, link FROM 'm' WHERE id < 3358608 and id > 3358494";

Masz jakieś przekrzywione apostrofy (`) otaczające literę 'm';
-------
Co to jest ?:
  1. echo $id=$row123['id'];
Pierwszy raz takie coś widzę i nie wiem czy to jest poprawne :/

Ten post edytował zamper 30.07.2011, 18:15:08


--------------------
GG(22779936)
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 18:12:41
Post #5





Goście







Ta część działa poprawnie...
Go to the top of the page
+Quote Post
zamper
post 30.07.2011, 18:19:09
Post #6





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


Dałeś error_reporting(E_ALL); na początku ?

W takim razie jak działa poprawnie to czego nie możesz wyświetlić ?
Co jakiś czas dawaj instrukcje
  1. echo $zmienna;
aby śledzić wartość zmiennej.


--------------------
GG(22779936)
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 18:37:52
Post #7





Goście







Rzeczywiście dostaje jakieś błędy:
[function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found

Problem jest taki, że np ten link mogę pobrać:

  1. http://myshow1909.wrzuta.pl/sr/f/0CJywGDUZ2D/rihanna-only_girl_in_the_world_.mp3
  2. ale tego już nie:
  3. <a href="http://c.wrzuta.pl/wa99/63d462d50009b8df4a8fce9c/0/04%20grubson%20-%20nie%20ma%20nic.mp3" target="_blank">http://c.wrzuta.pl/wa99/63d462d50009b8df4a...%20ma%20nic.mp3</a>
  4. a tym bardziej tego:
  5. <a href="http://milkshakedreamsxd.wrzuta.pl/sr/f/8tY2HGM2cif/bruno_mars_-_the_lazy_song" target="_blank">http://milkshakedreamsxd.wrzuta.pl/sr/f/8t...-_the_lazy_song</a>


Zależy mi na napisaniu skryptu, który będzie sprawdzał czy link jest ok (tak jak ten 2) czy nie tak jak te pozostałe.

Jak więc to zrobić ?
Go to the top of the page
+Quote Post
zamper
post 30.07.2011, 18:40:04
Post #8





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


//Wydaje mi się że to nie Twoja wina, ale zabezpieczenia serwerów ci na to nie pozwalają (nie jestem tego pewien).
Czekaj!
Spróbuj sobie wkleić te linki na pasek adresu i nacisnąć enter !

Ten post edytował zamper 30.07.2011, 18:42:42


--------------------
GG(22779936)
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 18:40:43
Post #9





Goście







Dziwnie mi parser pozamieniał te linki, ale ogólnie ten drugi tylko mogę pobrać a pozostałe zwracają błąd i chciałbym napisać skrypt, który sprawdzi linki, które zwracają błąd a te, które da się pobrać, sprawdzi czy nie zawierają słowa 'przepraszamy'.

Mogę zapłacić za pomoc.
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 18:44:42
Post #10





Goście







Zamper robiłem to, i wiem że dostaję błąd 404 itp, ale jak to sprawdzić w skrypcie ?
Go to the top of the page
+Quote Post
zamper
post 30.07.2011, 18:46:44
Post #11





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


Pffffffffff. Nie musisz płacić. Tutaj na forum pomagamy sobie prawie bezinteresownie wink.gif A co do tego jak sprawdzić czy ten link działa a tamten nie to nie wiem czy jest taka możliwość w php. Można spróbować stłumić błąd (@) i wychwycić wyjątek, ale nie wiem czy to podziała. Zaraz coś wykombinuję wink.gif
Jak napisałeś że zapłacisz zaraz się pojawi lawina postów ;P.


Mam !
"W przypadku niepowodzenia, file_get_contents () zwróci FALSE."

Ten post edytował zamper 30.07.2011, 18:48:21


--------------------
GG(22779936)
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 18:47:00
Post #12





Goście







Myślałem, że pomoże zamiana
  1. if (preg_match('/przepraszamy/ims',$nazwa))

na
  1. if (preg_match('/przepraszamy/ims',$nazwa) || empty($nazwa)),

ale wtedy wszystkie linki oznacza mi jako złe...
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 18:48:50
Post #13





Goście







Hehe, z doświadczenia wiem, że nie wszyscy są tacy bezinteresowni jak Ty :]
Go to the top of the page
+Quote Post
zamper
post 30.07.2011, 18:49:39
Post #14





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


W przypadku niepowodzenia, file_get_contents () zwróci FALSE.

Stłum błędy @ i zrób warunek. Jeżeli file_get_contents () zwróci FALSE link jest niepoprawny biggrin.gif

  1. @ $nazwa = file_get_contents($i);
  2. if($nazwa==false) {echo 'link jest nie poprawny';exit;}


Manual na temat file_get_contest() przetłumaczone przez Google biggrin.gif

Ten post edytował zamper 30.07.2011, 18:53:05


--------------------
GG(22779936)
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 18:56:15
Post #15





Goście







Zrobiłem tak, ale jako blednę oznacza mi to również dobre linki, np:
http://c.wrzuta.pl/wa5802/21ab751f00148f99...nowa%20fala.mp3

@$nazwa = file_get_contents($i);

if (preg_match('/przepraszamy/ims',$nazwa) || ($nazwa==false)) { echo 'zly link }'
Go to the top of the page
+Quote Post
zamper
post 30.07.2011, 18:58:47
Post #16





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


Nie tak zrób to tak:

  1. @ $nazwa = file_get_contents($i);
  2. if($nazwa==false) {echo 'link jest nie poprawny';exit;}
  3. if (preg_match('/przepra')//........................................



#Jeśli otwierasz URI znaków specjalnych, takich jak spacje, musisz zakodować URI z urlencode () . (Manual)
Nie używaj preg_match (), jeśli chcesz tylko sprawdzić, czy jeden ciąg jest zawarty w inny ciąg. Użyj stristr()

Ten post edytował zamper 30.07.2011, 19:07:27


--------------------
GG(22779936)
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 19:05:14
Post #17





Goście







Dalej wszystkie linki oznacza mi jako niepoprawne, spróbuj np dla tego linka:
  1. http://techn0.wrzuta.pl/sr/f/50iA5vkvZ5K/02_grubson_-_nowa_fala

Zobaczysz, że Twój sposób oznaczy go jako niepoprawny, mimo iż tak nie jest :/
Go to the top of the page
+Quote Post
zamper
post 30.07.2011, 19:10:03
Post #18





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


Usuń preg_match() i całą tą instrukcje i powinno być dobrze wink.gif
Ma być tak jak poniżej. Jak nie to już nie wiem :|
  1. $sql = 'SELECT id, link FROM `m` WHERE id < 3358608 and id > 3358494 ;' ;
  2. $resultx = mysql_query($sql);
  3. if(mysql_num_rows($resultx) > 0) {
  4. while($row123 = mysql_fetch_assoc($resultx)){
  5. echo $id=$row123['id'];
  6. echo " ";
  7. $i=trim($row123['link']);
  8. echo "<a href='".$i."'>".$i."</a>";
  9.  
  10. if($nazwa===false || $nazwa==false) {echo 'blad';exit;}
  11. }
  12.  
  13.  
  14. }


Ten post edytował zamper 30.07.2011, 19:16:10


--------------------
GG(22779936)
Go to the top of the page
+Quote Post
--Mobi--
post 30.07.2011, 19:14:34
Post #19





Goście







Usunąłem, niestety ciągle oznacza mi dobre linki jako niepoprawne :/
No trudno, będę dalej kombinował, w każdym razie wielkie dzięki za zaangażowanie!
Go to the top of the page
+Quote Post
zamper
post 30.07.2011, 19:20:49
Post #20





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


Nie ma co. Fajse jet wtedy kiedy otwierasz strone taką jak np:
www.sadfghdsgfhgf.sdgfhgddth.pl
Można użyć jeszcze desperacko
do znalezienia ciągu typu "error","przepraszamy","404", lecz nie zawsze będzie działać więc takie rozwiązanie jest do d**y. Napisz do kogoś kto ma większe doświadczenie na tym forum (jakiś stały bywalec). Ale wydaje mi się że będzie ciężko z rozwiązaniem tego problemu.


A zrobiłeś:
  1. if($nazwa===false || $nazwa==false) {echo 'blad';exit;}
questionmark.gif

Ten post edytował zamper 30.07.2011, 19:22:50


--------------------
GG(22779936)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 16.07.2025 - 05:49