Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyszukiwarka plików
Forum PHP.pl > Forum > Przedszkole
marcin_jimmi
Witam. Mam ciekawy problem. Otóż stworzyłem sobie wyszukiwarkę plików odnoszącą się do kilku już gotowych wyszukiwarek na jakie możemy natrafić w internecie. Moim celem jest także wyszukiwanie plików znajdujących sie na kontach rapidshare. Więc podlinkowałem swoje zapytanie do wyszukiwarki rapid4me. I pojawił się ciekawy problem. W celu wyszukania czegokolwiek należy w adresie podać co wyszukujemy czyli rapid4me.com/?q=zapytanie. Do tego zastosowałem kod:

  1. function rapid4me($sSearch)
  2. {
  3. $sSearch = str_replace('-', '+', $_POST['fraza']);
  4. $cnt = trim(file_get_contents('http://rapid4me.com/?q='.$sSearch));
  5. if ( strpos( $cnt, $sSearch ) !== false )
  6. {
  7. preg_match_all('#<div class="search_item">(.*?)</div>#s',$cnt,$wynik);
  8. $zmienna = serialize($wynik[1]);
  9. echo '<p>'.str_replace(array('<a href=','"/?f=',' - Archive'), array('','<a href="http://rapid4me.com/?f=',''), $zmienna);
  10. for ($ile=2 ;$ile <= 5; $ile++)
  11. {
  12. $sSearch1 = $sSearch.'&amp;&amp;p=';
  13. $sSearch1 .= $ile;
  14. echo '<center>';
  15. echo 'http://www.rapid4me.com/?q='.$sSearch1;
  16. echo '</center>';
  17. $cnt2 = file_get_contents('http://www.rapid4me.com/?q='.$sSearch1);
  18. preg_match_all('#<div class="search_item">(.*?)</div>#s',$cnt2,$wynik2);
  19. $wzor = 'request';
  20. $zmienna2 = serialize($wynik2[1]);
  21. if ( strpos( $zmienna2, $wzor ) !== false )
  22. {
  23. return;
  24. }
  25. else
  26. {
  27. echo '<p>'.str_replace(array('<a href=','"/?f=',' - Archive'), array('','<a href="http://rapid4me.com/?f=',''), $zmienna2);
  28. }
  29. }
  30. }
  31. else
  32. {
  33. echo 'Brak wynikow';
  34. }
  35. }


Jak zaważyliście nie chciałbym aby mi wyświetlał tylko jedną stronę wyszukiwania a kilka. Więc pętla for. I pojawia sie problem. Aby wyświetlić kolejne strony z wynikami czyli 2,3,4 itp musze podać adres: q=wyszukiwanie&&p=2. Kiedy dodamy do tego adres strony automatycznie przenosi nas dalej. W źródle strony wystarczy tylko q=sander&amp;p=2. O dziwo wklepanie tego zwrotu do przeglądarki nie przeniesie nas na drugą stronę wyszukiwania. A na pierwszą... W moim skrypcie otrzymuję po wysłaniu q=sander&&p=2 także wyniki z pierwszej strony choć wpisanie do adresu przeglądarki przenosi na 2 stronę. Jest to na pewno spowodowane znakiem "&". W php.ini ustawiłem aby nie zmieniał automatycznie & na &amp; a pomimo to nie działa. Próbowałem już różne kombinacje jak &amp;p=2 itp... Nie działa. Cały czas otrzymuję pierwszą stronę z wynikami. Dokument na samej stronie rapid4me jest w XML. Ja używam chwilowo najnowszej wersji XAMPPa. Może ktoś zna odpowiedź na ten problem?
Agape
a referer?
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.