플러그인 47: 웹 업데이트

<?php // Plug-in 47: Page Updated

// This is an executable example with additional code supplied
// To obtain just the plug-ins please click on the Download link

$page     = "http://pluginphp.com";
$datafile = "urldata.txt";
$result   = PIPHP_PageUpdated($page, $datafile);
echo      "<pre>(1st call) The URL '$page' is ";

if     ($result == -1) echo "New";
elseif ($result == 1)  echo "Changed";
elseif ($result == 0)  echo "Unchanged";
else                   echo "Inaccessible";

$result   = PIPHP_PageUpdated($page, $datafile);
echo      "<br />(2nd call) The URL '$page' is ";

if     ($result == -1) echo "New";
elseif ($result == 1)  echo "Changed";
elseif ($result == 0)  echo "Unchanged";
else                   echo "Inaccessible";

function PIPHP_PageUpdated($page, $datafile)
{
   // Plug-in 47: Page Updated
   //
   // This plug-in takes a URL as an argument which it then
   // checks to see if it is different to the last time it
   // was loaded. If so it returns 1, otherwise it returns 0
   // if the page is unchanged, -1 if the page is new to
   // the data file, or -2 if the page could not be loaded.
   // The arguments required are:
   //
   //    $url:      URL of a page to check
   //    $datafile: File in which to store the database

   $contents = @file_get_contents($page);
   if (!$contents) return FALSE;

   $checksum = md5($contents);

   if (file_exists($datafile))
   {
      $rawfile  = file_get_contents($datafile);
      $data     = explode("
", rtrim($rawfile)); $left = array_map("PIPHP_PU_F1", $data); $right = array_map("PIPHP_PU_F2", $data); $exists = -1; for ($j = 0 ; $j < count($left) ; ++$j) { if ($left[$j] == $page) { $exists = $j; if ($right[$j] == $checksum) return 0; } } if ($exists > -1) { $rawfile = str_replace($right[$exists], $checksum, $rawfile); file_put_contents($datafile, $rawfile); return 1; } } else $rawfile = ""; file_put_contents($datafile, $rawfile . "$page!1!$checksum
"); return -1; } // The two functions below are used exclusively by the main // function and are not intended to be called by your programs function PIPHP_PU_F1($s) { list($a, $b) = explode("!1!", $s); return $a; } function PIPHP_PU_F2($s) { list($a, $b) = explode("!1!", $s); return $b; } ?>

플러그인 설명:
플러그인은 웹 페이지의 URL 주소를 받아들여 웹 페이지가 바뀌었는지 알려 줍니다.만약 변화가 발생하면 1로 돌아가고 변화가 발생하지 않으면 0으로 돌아간다. 만약에 그가 새 웹 페이지이고 데이터 파일에 기록이 없다면 -1로 돌아가고 이 웹 페이지를 방문할 수 없다면 -2로 돌아가며 다음과 같은 매개 변수가 필요하다.
$page에서 웹 페이지의 URL 주소를 확인해야 합니다.
$datafile 데이터 파일 이름
urldata.txt 내용:
http://pluginphp.com!1!e06e60bff424f1033034c420869d6bfd

좋은 웹페이지 즐겨찾기