-Mobi-
30.07.2011, 16:33:55
echo "znaleziono słowo"; } 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

Dlaczego nie mogę go wyświetlić, natomiast mogę na nim operować za pomocą preg_match ?
peter13135
30.07.2011, 16:44:39
coś oszukujesz. Daj więcej kodu.
-Mobi-
30.07.2011, 17:36:14
Proszę:
$sql = 'SELECT id, link FROM `m` WHERE id < 3358608 and id > 3358494 ;' ;
{
$i=trim($row123['link']); echo "<a href='".$i."'>".$i."</a>";
echo "znaleziono słowo"; }
else { echo "nic nie znaleziono"; }
}
}
zamper
30.07.2011, 18:08:06
Na samym początku tego pliku napisz:
Spróbuj zadać takie coś:
$sql = "SELECT id, link FROM 'm' WHERE id < 3358608 and id > 3358494";
Masz jakieś przekrzywione apostrofy (`) otaczające literę 'm';
-------
Co to jest ?:
Pierwszy raz takie coś widzę i nie wiem czy to jest poprawne :/
-Mobi-
30.07.2011, 18:12:41
Ta część działa poprawnie...
zamper
30.07.2011, 18:19:09
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
aby śledzić wartość zmiennej.
-Mobi-
30.07.2011, 18:37:52
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ć:
http://myshow1909.wrzuta.pl/sr/f/0CJywGDUZ2D/rihanna-only_girl_in_the_world_.mp3
ale tego już nie:
<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> a tym bardziej tego:
<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ć ?
zamper
30.07.2011, 18:40:04
//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 !
-Mobi-
30.07.2011, 18:40:43
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.
-Mobi-
30.07.2011, 18:44:42
Zamper robiłem to, i wiem że dostaję błąd 404 itp, ale jak to sprawdzić w skrypcie ?
zamper
30.07.2011, 18:46:44
Pffffffffff. Nie musisz płacić. Tutaj na forum pomagamy sobie prawie bezinteresownie

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ę

Jak napisałeś że zapłacisz zaraz się pojawi lawina postów ;P.
Mam !"W przypadku niepowodzenia, file_get_contents () zwróci FALSE."
-Mobi-
30.07.2011, 18:47:00
Myślałem, że pomoże zamiana
na
ale wtedy wszystkie linki oznacza mi jako złe...
-Mobi-
30.07.2011, 18:48:50
Hehe, z doświadczenia wiem, że nie wszyscy są tacy bezinteresowni jak Ty :]
zamper
30.07.2011, 18:49:39
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

if($nazwa==false) {echo 'link jest nie poprawny';exit
;}
Manual na temat file_get_contest() przetłumaczone przez Google
-Mobi-
30.07.2011, 18:56:15
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 }'
zamper
30.07.2011, 18:58:47
Nie tak zrób to tak:
if($nazwa==false) {echo 'link jest nie poprawny';exit
;} 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()
-Mobi-
30.07.2011, 19:05:14
Dalej wszystkie linki oznacza mi jako niepoprawne, spróbuj np dla tego linka:
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 :/
zamper
30.07.2011, 19:10:03
Usuń preg_match() i całą tą instrukcje i powinno być dobrze

Ma być tak jak poniżej. Jak nie to już nie wiem :|
$sql = 'SELECT id, link FROM `m` WHERE id < 3358608 and id > 3358494 ;' ;
$i=trim($row123['link']); echo "<a href='".$i."'>".$i."</a>";
if($nazwa===false || $nazwa==false) {echo 'blad';exit
;} }
}
-Mobi-
30.07.2011, 19:14:34
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!
zamper
30.07.2011, 19:20:49
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ś:
if($nazwa===false || $nazwa==false) {echo 'blad';exit
;}
-Mobi-
30.07.2011, 19:23:11
Niestety, żaden z tych sposobów nie działa. Kto by pomyślał, że będzie z tym taki problem.
Sory, za stracony na mnie czas...
zamper
30.07.2011, 19:35:17
Nie. To ja straciłem twój.
Jak zasłużyłem to naciśnij że pomogłem
-Mobi-
30.07.2011, 19:42:31
Niestety nie widzę takiej opcji ?
zamper
30.07.2011, 19:43:25
Jakiej znowu opcji ?
-Mobi-
30.07.2011, 19:45:20
Przycisku, że pomogłeś.
zamper
30.07.2011, 19:47:53
Aaa. Musiał byś być zarejestrowany.
A co do tematu to co ty wgl za stronę tworzysz ? Może znajdzie się inny sposób na to wszystko
-Mobi-
30.07.2011, 19:50:16
Taki muzyczny portalik...
Może i się znajdzie inny sposób, ale problem pozostaje ten sam...
zamper
30.07.2011, 19:52:01
Nie.
Co ten skrypt ma dokładnie robić. Może są inne funkcje, rozwiązujące ten problem!
-Mobi-
30.07.2011, 19:57:05
Rozpoznawać linki, które nie działają.
Tak jak na początku podałem te 3 linki, tylko 1 jest poprawny i skrypt ma sprawdzać, który jest poprawny a który nie.
zamper
30.07.2011, 20:00:53
Nie jestem pewien ale możesz coś pokombinować z biblioteką
cUrlLekcja 13to może być to, poczytaj o tym też gdzieś indziej bo tam może być nie wszystko pokazane
pomocpomoc 2Poradzisz sobie
-Mobi-
30.07.2011, 20:56:22
Hehe, z cURL kombinowałem wcześniej, ale wrzuta to blokuje

Musiałem przejść na file_get_contente
zamper
30.07.2011, 20:57:58
Acha. To raczej nic z tego :/
-Mobi-
30.07.2011, 21:05:16
No niestety ;/
Wilwarin
31.07.2011, 15:25:43
To zależy też od hostingu... U mnie też się nie dało użyć file_get_contents.
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.