php cookie 读取 设置 删除实例

 更新时间:2016年11月25日 17:33  点击:1704
文章利用了二个实例来讲述一下关于php 设置cookie与 读取cookie及cookie删除等处理方法

如果需要更新cookie以让其储存新值,只需要将其原值覆盖即可。因此,即使你已经在之前的页面中刚刚发送cookie,仍可以将你的名字改为"jeff"。
*/

 代码如下 复制代码

$y2k = mktime(0,0,0,1,1,2000);

setcookie('name', 'jeff', $y2k);


/*
上面是个简单的cookie实例,下面我们来看个复杂的cookie 来作用户登录验证实例代码。
*/

 代码如下 复制代码

function verify()
{
  global $pass;
  if($_post['pass'] == $pass || $_cookie['pass'] == md5($pass))
  {
    cookie(true);
    return true;
  }
  else
  {
    cookie(false);
    return false;
  }
}

function cookie($set = true)
{
  global $pass;
  if($set)
    setcookie("pass",md5($pass),time()+3600);
  else
    setcookie("pass","",time()-3600);
}

 代码如下 复制代码

*/
header('content-type: text/html; charset=utf-8');
require('function.php');

$url = strtolower(trim($_get['url']));
$lm = intval($_get['lm']);
$pn = intval($_get['pn']);

$url = getshorturl($url);

if (empty($pn)) $pn = 1;

switch ($lm) {
 case 1 :
  $timestr = '24小时';
  break;
 case 7 :
  $timestr = '一星期';
  break;
 case 30 :
  $timestr = '一个月';
  break;
 case 360 :
  $timestr = '一年';
  break;
 default :
  $timestr = '所有时间';
  break;
}
?>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
if (empty($url)) {
?>
<title>35dir百度近日收录查询-35分类目录</title>
<meta name="keywords" content="百度近日收录查询" />
<meta name="description" content="百度近日收录查询可按指定时间段(最近24小时、一星期、一个月、一年、所有时间)查询,让你及时了解网站在某一时间段内的收录情况。" />
<?php
} else {
?>
<title><?php echo $url;?>百度最近<?php echo $timestr; ?>收录详情-35分类目录</title>
<meta name="keywords" content="<?php echo $url; ?>,百度近日收录查询" />
<meta name="description" content="<?php echo $url; ?>,百度最近<?php echo $timestr; ?>收录查询结果。" />
<?php
}
?>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="copyright" content="powered by 111cn.net" />
<meta http-equiv="pragma" content="no-cache" />
<script type="text/网页特效" src="jquery.js"></script>
<script type="text/jscript">
function checkfrm() {
 if ($("#url").attr("value") == "") {
  alert("请输入要查询的域名!");
  $("#url").focus();
  return false;
 } else {
  var reexp = /^([a-z0-9-]{1,}.)?[a-z0-9-]{2,}.([a-z0-9-]{1,}.)?[a-z0-9]{2,}$/i;
  if (!reexp.test($("#url").attr("value"))) {
   alert("请输入正确的域名!");
   $("#url").focus();
   return false;
  }
 }
 return true;
}
</script>
<link href="skin/style.css教程" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="topbar">网站导航:<a href="http://www.111cn.net/" target="_blank">35分类目录</a> | <a href="http://www.opdir.cn/" target="_blank">open directory</a></div>
<div id="container">
 <div id="header">
     <a class="logo" href="http://tool.111cn.net/baidu/" title="35dir百度近日收录查询"></a>
     <div id="search">
          <form name="myso" method="get" action="" onsubmit="return checkfrm();">
   <span style="font: bold 16px normal;">http://</span> <input name="url" id="url" type="text" size="50" class="sipt" value="<?php echo $url;?>" />
                <input type="hidden" name="lm" value="1" />
    <input type="submit" class="sbtn" value="查 询" />
              <div class="tips教程">示例:<a href="javascript: void(0);" onclick="$('#url').attr('value', '111cn.net')">111cn.net</a>,<a href="javascript: void(0);" onclick="$('#url').attr('value', 'www.111cn.net')">www.111cn.net</a>,带"www"与不带"www"的查询结果不同</div>
          </form>
        </div>
 </div>
    <?php
 if (!empty($url)) {
 ?>
    <div class="tool"><strong>按时间段查询:</strong> <a href="">最近24小时</a>  <a href="">最近一星期</a>  <a href="">最近一个月</a>  <a href="">最近一年</a>  <a href="">总收录量</a></div>
  <div id="mainer">
     <?php
  $query_url = 'http://www.baidu.com/s?wd=site%3a'.$url.'&pn='.$pn.'&lm='.$lm;
  $line_arr = @file($query_url);
   
  $content = implode('###', $line_arr);
  $content = @mb_convert_encoding($content, 'utf-8', 'gb2312');
  
  //index
  if (preg_match('/找到相关网页(.*?)篇/i', $content, $index)) {
   $baiduindex = str_replace('约', '', $index[1]);
  } else {
   $baiduindex = '-';
  }
  ?>
     <div class="content">
      <h2>百度在最近 <font color="#ff6600"><?php echo $timestr; ?></font> 内共收录了网站( <a href="<?php echo getfullurl($url); ?>" target="_blank"><?php echo $url; ?></a> ) <font color="#ff6600"><?php echo $baiduindex; ?></font> 个页面</h2>
         <div>
   <?php
   $content = strstr($content, '<table cellpadding="0" cellspacing="0" class="result"');
   $end = strpos($content, '<div id="search">');
   $content = substr($content, 0, $end);
   
   $item_arr = explode('<tr><td class=f>', $content);
 
   //showpage
   if (preg_match('/<p id="page">(.*?)</div>/', $content, $page_arr)) {
    $showpage = str_replace('s?wd=site%3a', '?url=', $page_arr[1]);
    $showpage = str_replace('[', '', $showpage);
    $showpage = str_replace(']', '', $showpage);
   }
 
   $i = 0;
   $strhtml = '<ul class="sitelist">';
   foreach ($item_arr as $item) {
    if (preg_match('/<a  onmousedown="(.*?)" href="(.*?)"  target="_blank" ><font size="3">(.*?)</font></a><br><font size=-1>(.*?)<font color="#008000">(.*?)</font> - <a href="(.*?)"  target="_blank"  class="m">/i', $item, $siteinfo)) {
     $sitename = $siteinfo[3];
     $siteurl = $siteinfo[2];
     $sitedesc = $siteinfo[4];
     $siteltime = $siteinfo[5];
     $sitecache = $siteinfo[6];
     
     $strhtml .= '<li>';
     $strhtml .= '<strong><em>'.$i.'.</em><a href="'.$siteurl.'" target="_blank">'.$sitename.'</a></strong>';
     $strhtml .= '<p>'.$sitedesc.'</p>';
     $strhtml .= '<address>'.$siteltime.' - <a href="'.$sitecache.'" target="_blank">百度快照</a></address>';
     $strhtml .= '</li>';
    }
    $i++;
   }
   $strhtml .= '</ul>';
   $strhtml .= '<div class="showpage">'.$showpage.'</div>';
 
   echo $strhtml;
   ?>
      </div>
  </div>
  </div>
    <?php
    }
 ?>
  
</div>
</body>
</html>

function文件

<?php
function getfullurl($url) {
 if ($url != "") {
  $url_parts = parse_url($url);
  if ($url_parts['scheme'] == "") {
   $url = "http://".$url;
  }
 }
 return $url;
}
 
function getshorturl($url) {
 if ($url != "") {
  $url_parts = parse_url($url);
        if ($url_parts['host'] == "") {
   $url = $url_parts['path'];
  } else {
            $url = $url_parts['host'];
        }
 }
 return $url;
}
 
function format_number($number) {
 if ($number == '') return "-";
 $nlen = strlen($number);
 while ($nlen > 3) {
  $fnumber = ",".substr($number, $nlen - 3, 3).$fnumber;
  $number = substr($number, 0, -3);
  $nlen = strlen($number);
 }
  
 if ($nlen <= 3) {
  $fnumber = $number.$fnumber;
 }
 return $fnumber;
}
?>

源码下载地址

http://down.111cn.net/s/2010/1025/21415.html

再有一种就是伪静态方式,即用户和搜索引擎看到的是.html后缀的静态页面,但实际上它还是动态程序,只不过是通过某种方式进行了伪装。

这种方式也有两种实现方式:

第一种是通过web服务器,进行url rewrite实现链接的静态化,下面以apache为例来说明一下其实现方式。对于有服务器配置权限的用户,推荐使用apache的mod_rewrite模块,这里假设已经安装好mod_rewrite模块。打开apache的配置文件,找到相应主机的部分,添加以下代码:

 代码如下 复制代码
rewriteengine on
rewriterule ^/abc/([a-z]+)/([0-9]+).html$ /abc.php?action=$1&id=$2


然后在shell里执行service httpd reload,让apache重新载入配置就好了。

但对于我们大多数人来讲,我们购买的只是空间,根本没有权限去修改apache的配置文件,那就没有办法了吗?不,当然有办法,首先我们进入到我们的空间的根目录下(如public_html),然后建立一个文件名为.htaccess的文件。这个文件内容基本如下:

 代码如下 复制代码
rewriteengine on
rewritebase /
rewriterule ^post/([0-9]+).htm read.php?1
rewriterule ^post/([0-9]+)_([0-9]+).htm read.php?1&page=2
rewriterule ^post/([0-9]+)_([0-9]+)_([0-9]+).htm read.php?1&page=2&=3

 

php程序写法

 代码如下 复制代码

function  mod_rewrite(){
         if ( isset ( $_server [ ’ path_info ’ ])){
                 $url   =   substr ( $_server [ ’ path_info ’ ] , 1 );
                 $url   =   explode ( ’ / ’ , $url );
                 foreach  ( $url   as   $key   => $value ){
                         if ( $key % 2 != 1 ){
                                 if ( $value != ’’ ) $_get [ $value ] = $url [ $key + 1 ];
                                 $querystring [] = $value . ’ = ’ . $url [ $key + 1 ];
                        }
                }
                 $_server [ ’ query_string ’ ] = implode ( " & " , $querystring );
    $_server [ ’ php_self ’ ] = substr ( $_server [ ’ php_self ’ ]

 , 0 , strpos ( $_server [ ’ php_self ’ ] , ’ .php ’ ) + 4 );
                 $_server [ ’ request_uri ’ ] = $_server [ ’ php_self ’ ]

. ’ ? ’ . $_server [ ’ query_string ’ ];
        }
}

三种取得文件扩展名php教程代码

 代码如下 复制代码
<?php  
//方法一:  
function extend_1($file_name)  
{  
$retval="";  
$pt=strrpos($file_name, ".");  
if ($pt) $retval=substr($file_name, $pt+1, strlen($file_name) - $pt);  
return ($retval);  

<?php //方法一: function extend_1($file_name) { $retval=""; $pt=strrpos($file_name, "."); if ($pt) $retval=substr($file_name, $pt+1, strlen($file_name) - $pt); return ($retval); }
 

//方法二
php代码

 代码如下 复制代码
function extend_2($file_name)  
{  
$extend = pathinfo($file_name);  
$extend = strtolower($extend["extension"]);  
return $extend;  

function extend_2($file_name) { $extend = pathinfo($file_name); $extend = strtolower($extend["extension"]); return $extend; }
 

//方法三
php代码

 代码如下 复制代码
function extend_3($file_name)  
{  
$extend =explode("." , $file_name);  
$va=count($extend)-1;  
return $extend[$va];  

function extend_3($file_name) { $extend =explode("." , $file_name); $va=count($extend)-1; return $extend[$va]; }
 

//方法四
php代码

 代码如下 复制代码
function getfileext($file_name)  
{  
while($dot = strpos($file_name, "."))  
{  
$file_name = substr($file_name, $dot+1);  
}  
return $file_name;  
}  
?> 
function getfileext($file_name) { while($dot = strpos($file_name, ".")) { $file_name = substr($file_name, $dot+1); } return $file_name; } ?>
提供两款php 截取字符串函数,他们能自动识别中文哦,如果你是截取文章这个很不错啊,喜欢就进来看看吧。
 代码如下 复制代码

<?php
header ( "content-type:text/html; charset=utf-8" );

    function strcut($string, $length, $dot = '...',$charset='utf-8')
        {

      $strlen = strlen($string);

      if($strlen <= $length) return $string;

      $strcut = '';

      if(strtolower($charset) == 'utf-8')

      {

      $n = $tn = $noc = 0;

      while($n < $strlen)

      {

      $t = ord($string[$n]);

      if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {

      $tn = 1; $n++; $noc++;

      } elseif(194 <= $t && $t <= 223) {

      $tn = 2; $n += 2; $noc += 2;

      } elseif(224 <= $t && $t <= 239) {

      $tn = 3; $n += 3; $noc += 3;

      } elseif(240 <= $t && $t <= 247) {

      $tn = 4; $n += 4; $noc += 4;

      } elseif(248 <= $t && $t <= 251) {

      $tn = 5; $n += 5; $noc += 5;
      } elseif($t == 252 || $t == 253)
      {
        $tn = 6; $n += 6; $noc += 6;
      }
      else
      {

      $n++;

      }
      if($noc >= $length) break;
      }
      if($noc > $length) $n -= $tn;
      $strcut = substr($string, 0, $n);

      }
      else
      {
        $dotlen = strlen($dot);
        $maxi = $length - $dotlen - 1;

        for($i = 0; $i < $maxi; $i++)
        {
          $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
        }
      }
      var_dump($strcut);
      return $strcut;
        }
        echo "jjjkkklll";
        echo strcut("向kk向向向kk向向向kk向向kkklllllllllllmmmmmmmmmmmmmmm向东阳",12)


字符截取函数二

 代码如下 复制代码
function splitstr($str,$len){
    if($len<=0){
  return false;
    }
    else{
  $slen=strlen($str);
  if($len>=$slen)
      return $str;
  else{
      for($i=0;$i<($len-1);$i++){
    if(ord(substr($str,$i,1))>0xa0)
  $i++;
      }
      if($i>=$len)
    return substr($str,0,$len);
elseif(ord(substr($str,$i,1))>0xa0)
    return substr($str,0,$len-1);
      else
    return substr($str,0,$len);
  }
    }
}
[!--infotagslink--]

相关文章

  • phpems SQL注入(cookies)分析研究

    PHPEMS(PHP Exam Management System)在线模拟考试系统基于PHP+Mysql开发,主要用于搭建模拟考试平台,支持多种题型和展现方式,是国内首款支持题冒题和自动评分与教师评分相...2016-11-25
  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • 删除条目时弹出的确认对话框

    复制代码 代码如下: <td> <a href="/member/life/edit_ppt/<?php echo $v->id;?>" class="btn">编辑</a> <a href="javascript:;" onclick="if(confirm('您确定删除这条记录?')){location.href='/member/life/d...2014-06-07
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • JS使用cookie实现DIV提示框只显示一次的方法

    本文实例讲述了JS使用cookie实现DIV提示框只显示一次的方法。分享给大家供大家参考,具体如下:这里运用JavaScript的cookie技术,控制网页上的提示DIV只显示一次,也就是当用户是第一次打开网页的时候才显示,第二次自动隐藏起...2015-11-08
  • jQuery动态添加与删除tr行实例代码

    最近由于项目的需要,需要动态的添加和删除table中的tr,感觉用JS可以实现,但是在网上找了一下,单纯的自己写JS,感觉太麻烦,而且也不好维护。于是想到了最近学的jQuery。这篇文章给大家用实例介绍了jQuery动态添加与删除tr行的方法,有需要的朋友们可以参考借鉴。...2016-10-20
  • php跨网站请求伪造与防止伪造方法

    伪造跨站请求介绍伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。...2013-10-01
  • PHP中SSO Cookie登录分析和实现

    什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • MyBatis-Plus的物理删除和逻辑删除(使用场景)

    数据库中的数据删除会分为两种:物理删除 和 逻辑删除,接下来通过本文给大家介绍MyBatis-Plus的物理删除和逻辑删除使用场景分析,感兴趣的朋友一起看看吧...2021-09-25
  • PHP中SSO Cookie登录分析和实现

    什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
  • c# 对CSV文件操作(写入、读取、修改)

    这篇文章主要介绍了c# 如何对CSV文件操作,帮助大家更好的理解和学习C#,感兴趣的朋友可以了解下...2020-11-03
  • python读取和保存mat文件的方法

    本文主要介绍了python读取和保存mat文件的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-25
  • vue项目中js-cookie的使用存储token操作

    这篇文章主要介绍了vue项目中js-cookie的使用存储token操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-14
  • js实现上传文件添加和删除文件选择框

    这篇文章主要为大家详细介绍了js实现上传文件添加和删除文件选择框 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-25
  • mybatis-plus getOne和逻辑删除问题详解

    这篇文章主要介绍了mybatis-plus getOne和逻辑删除,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-26
  • Android中使用SDcard进行文件的读取方法

    首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在AndroidManifest.xml中加入访问SDCard的权限如下: <!--...2016-09-20
  • C# 复制与删除文件的实现方法

    这篇文章主要介绍了C# 复制与删除文件的实现方法的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下...2020-06-25
  • C#删除UL LI中指定标签里文字的方法

    这篇文章主要介绍了C#删除UL LI中指定标签里文字的方法,涉及C#针对页面HTML元素进行正则匹配与替换的相关操作技巧,需要的朋友可以参考下...2020-06-25