0

これを取得するのは、私が管理したphpのスニペットです

$server="localhost";
function sockAccess($page)
{
   $errno="";
   $errstr="";
   $fp=0;
   global $server;
   $fp=fsockopen($server,80,$errno,$errstr,30);

   if($fp===0)
   {
      die("Error $errstr ($errno)");
   }
   $out="GET /$page HTTP/1.1\r\n";
   $out.="Host: $server\r\n";
   $out.="Connection: Close\r\n\r\n";

   fwrite($fp,$out);
   $content=fgets($fp);
   $code=trim(substr($content,9,4));
   fclose($fp);
   return intval($code);
}
//echo '".'.$_SERVER["REQUEST_URI"].'"';
//echo '"php self='. $_SERVER['PHP_SELF'].'"';
if(($_SERVER['PHP_SELF']) == ($_SERVER['REQUEST_URI'])}
{
echo "code=", " ", sockAccess('".'.$_SERVER["REQUEST_URI"].'"'), "\n";
}
else
{
echo "code=", " ", sockAccess('".'.$_SERVER["REQUEST_URI"].'"'), "\n";
}
echo "code=", " ", sockAccess("./test.php"), "\n";

echo "code=", " ", sockAccess("brokenlink.php"), "\n";

問題はまだcode=404エコーに表示されているため"code=", " ", sockAccess('".'.$_SERVER["REQUEST_URI"].'"'), "\n"; 、既に実行されているファイルを読み取らないことが解決策と思われるため、if else を使用して上記のコードを変更しました。事前に感謝します。

4

0 に答える 0