PHP验证网页是否可用的一些方法

最近公司有个网站要先判断服务器上的网页是否可用,然后在把值提交到这个网页上。使用php来检测网页是否可用,没怎么接触过php,搞了两天,基本上是可以检测了。现把代码贴上:

 <?php 
  //
  $url = "http://blog.csdn.net/xuezhongsong/archive/2009/09/17/4561488.aspx";  
  $ctx = stream_context_create(array('http' => array('timeout' => 10)));  
  //获取网页内容
  $result = @file_get_contents($url, 0, $ctx);  
  if($result){  
  echo "<Script language='JavaScript'> alert('成功!');</Script>";
   
  }else{  
  echo "<script>alert('服务器繁忙,请稍后再试!'); </script>";
  }  
  //以下是另一种方法判断服务器网页是否响应,但是当本页处理时间超时会有点问题。
  /*$fp = fsockopen("localhost", 80, &$errno, &$errstr, 10);
  socket_set_timeout($fp, 0, 10);
  if(!$fp && socket_set_timeout($fp, 0, 10))
  {
  echo "<script>alert('服务器繁忙,请稍后再试!'); </script>";
  }else{
  $stream="";
  fputs($fp,"GET /edulifebg.cn/SynEnrollData.asp HTTP/1.0/nHost: localhost/n/n Connection: close/r/n/r/n");
  $i=0;
  $inheader=1;
  error_reporting(0); 
  while(!feof($fp) && $inheader){
  $line = fgets($fp,1024); 
  //http请求的获取头部
  if ($inheader && ($line == "/n" || $line == "/r/n")) {
  $inheader = 0;
  }
  if ($inheader != 0) {
  $stream.= $line;
  } 
  }
  echo $stream;
  $mark=trimHeader($stream);
  if($mark==200){
  echo "<Script language='JavaScript'> alert('成功!');</Script>";
  }else{
  echo "<Script language='JavaScript'> alert('服务器繁忙,请稍后再试...!".$mark."');</Script>";
  }
  }
  fclose($fp);
  //获取HTTP状态码:200表示成功,400错误请求,服务器不理解请求的语法,404 服务器找不到请求的网页,503(服务不可用)服务器目前无法使用(由于超载或停机维护)等等
  function trimHeader($content){  
  $array=split(" ",$content);  
  return trim($array["1"]);  
  }
  */
?>

 

PS:

PHP没有很好的异常捕获机制,不爽!对php不熟悉,怎么把错误获取到,然后自定义提醒呢!比如一个页面超时,不要显示php的提醒,而是自定义提醒。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以通过以下步骤在HTML页面中使用PHP验证用户名是否重复: 1. 首先在HTML页面中添加一个输入框来输入用户名,并在输入框后面添加一个按钮,用于提交表单。 ```html <form method="post" action=""> <input type="text" name="username" id="username" placeholder="请输入用户名"> <button type="submit" name="check_username">检查用户名</button> </form> ``` 2. 在PHP中添加以下代码,用于验证用户名是否重复。这里使用MySQL数据库作为示例,假设已经建立了名为users的用户表。 ```php if(isset($_POST['check_username'])){ $username = $_POST['username']; $conn = mysqli_connect("localhost", "username", "password", "database_name"); //连接数据库 $query = "SELECT * FROM users WHERE username='$username'"; //查询语句 $result = mysqli_query($conn, $query); //执行查询语句 if(mysqli_num_rows($result) > 0){ //如果查询结果大于0,表示用户名已存在 echo "该用户名已存在,请重新输入!"; } else{ echo "该用户名可用!"; } } ``` 这里使用mysqli函数来连接MySQL数据库,并使用SELECT语句查询用户表中是否存在相同的用户名。如果查询结果大于0,表示用户名已存在,否则用户名可用。 3. 最后,在HTML页面中添加以下JavaScript代码,用于实现异步验证,即无需刷新页面即可检查用户名是否重复。 ```javascript <script> $(document).ready(function(){ $('#username').blur(function(){ var username = $(this).val(); $.ajax({ url:"check_username.php", method:"POST", data:{username:username}, success:function(data){ $('#username_result').html(data); } }); }); }); </script> <div id="username_result"></div> ``` 这里使用jQuery库来实现异步验证。当用户在输入框中输入用户名后,失去焦点时会触发blur事件,然后通过ajax方法将用户名传递给check_username.php文件进行验证,并将结果显示在页面上。最后,在页面中添加一个div元素用于显示验证结果。 通过以上步骤,就可以在HTML页面中使用PHP验证用户名是否重复了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值