Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] edycja kodu
Forum PHP.pl > Forum > Przedszkole
ookris
Witam.
Mam taki problem: zainstalowałem sobie katalog stron i od samego początku miałem problemy z wyświetlaniem PageRank (cały czas pokazuje się wartość -9). Ostatnio dostałe inny kod odpowiedzialny za wyliczanie wskaźnika PR jednak nie jest on "kompatybilny" ze skryptem katalogu. Czy ktoś może mi powiedzieć jak "zmusić" oba skrypty do współpracy bo na php to ja się znam jak.... smile.gif

pliki:
skrypt od PR http://ioks.info/moje_pliki/pr.php.txt
plik do zmodyfikowania: http://ioks.info/moje_pliki/home.php.txt

Jedyne do czego doszedłem to to iż w pliki home.php trzeba zedytować kawałek
  1. <?
  2. foreach($links as $item) {
  3.  
  4. if ($item[pr]<0) 
  5. {
  6.  $pr = trim(getrank($item[url2]));
  7.  if (is_numeric($pr)) 
  8.  {
  9.  $prok = mysql_query("UPDATE ".$prefix."wpisy SET pr=$pr WHERE id=$item[id]");
  10.  $item[pr] = $pr;
  11.  } 
  12.  else 
  13.  {
  14.  $item[pr] = -9;
  15.  } 
  16. }
  17.  
  18. ?>

gdyż w pliku pr.php nie ma takiej funkcji jak getrank. Tak mi się wydaje.

mam nadziejże ktoś pomoże....
nexis
  1. <?php
  2. function getrank ( $url ) {
  3. $content = file_get_contents('http://pagerank.4free.pl/pr.php?url=' . $url);
  4. @preg_match('#src="(http://pagerank.4free.pl/img/1/pr[0-9]+.png)"#', $content, $pr);
  5. if (is_numeric( $pr[1]{33} )) return $pr[1]{33};
  6. else return -1;
  7. }
  8. ?>


albo jeszcze krócej

  1. <?php
  2. function getrank ( $url ) {
  3. $pr = file_get_contents('http://pagerank.4free.pl/pr.php?url=' . $url);
  4. return $pr{95};
  5. }
  6. ?>
ookris
wszystko fajnie tylko chyba źle mnie zrozumiałeś.

  1. include 'pr.php';
  2. ?>
  3. <div class="links_block">
  4. <div class="text_body_h3">Ostatnio dodane wpisy:
  5. </div>
  6. <?
  7. foreach($links as $item) {
  8.  
  9. if ($item[pr]<0) 
  10. {
  11.  $pr = trim(getrank($item[url2]));
  12.  if (is_numeric($pr)) 
  13.  {
  14.  $prok = mysql_query("UPDATE ".$prefix."wpisy SET pr=$pr WHERE id=$item[id]");
  15.  $item[pr] = $pr;
  16.  } 
  17.  else 
  18.  {
  19.  $item[pr] = -9;
  20.  } 
  21. }
  22.  
  23. ?>

jak widać plik pr.php jest wykonywany i wynik jaki zwraca jest pobierany przez funkcję gertank która aktualizuje wartość PR w bazie danych a potem go wyświetla. Tak mi się wydaje....

a w dalszej części kodu
  1. <div class="text_link"><img src="otwarty_img/pr/<?=$item[pr]?>.gif" alt="Page Rank: <?=$item[pr]?>" />

wartość ta jest zamieniana na odpowiedni obrazek pokazujący wartość PR.

I jeszcze raz ponawiam pytanie: jak sprawić aby oba skrypty: pr.php i home.php współpracowały ze sobą tak jak ma to miejsce gdy zostawiam oryginalny plik pr.php. Proszę o wyjaśnienie co i jak pozmieniać w kodzie aby to działało.
nexis
Musisz odnaleźć funkcję getrank w swoich plikach (np. pr.php) i zastąpić ją tym co podałem wyżej.
ookris
nexis jesteś wielki biggrin.gif wszystko działa cacy Jeszcze raz WIELKIE DZIKI :*
nexis
Nie ma sprawy. winksmiley.jpg

Do moderatorów: temat można zamknąć.
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.