php 留言板防刷新

 更新时间:2016年11月25日 16:06  点击:2033

<?php
     
      php 留言板防刷新效果
      $ip = $_SERVER['REMOTE_ADDR'];
      $conn = mysql_connect($mysql_server_name, $mysql_username, $mysql_password);
      $sql = "SELECT * FROM `my_counter` WHERE ip = '$ip'";
      mysql_select_db($mysql_database, $conn);
      $result = mysql_query($sql);
      $row = mysql_fetch_row($result);
      print_r($row);
     
      if(!$row)   //如果IP没有出现过就新增
      {
       $sql = "INSERT INTO `my_counter` ( `new`, `ip`, `time_at`) VALUES ('1', '$ip', NOW())";
       $result = mysql_query($sql);
      }
      else        //如果IP出现过
      {
       $sql = "SELECT TIME_TO_SEC( NOW( ) ) - TIME_TO_SEC( time_at ) FROM `my_counter` WHERE `ip` = '$ip'ORDER BY `TIME_TO_SEC( NOW( ) ) - TIME_TO_SEC( time_at )` ASC ";
       $result = mysql_query($sql);
       $row = mysql_fetch_row($result);
       print_r($row);
      
       if($row[0]>5)   //如果IP出现过,则看他有没有超过5秒
       {
         $sql = "INSERT INTO `my_counter` ( `new`, `ip`, `time_at`) VALUES ('1', '$ip', NOW())";
         $result = mysql_query($sql);
       }
      }
     
       $sql = "SELECT COUNT(*) FROM `my_counter`";
       $result = mysql_query($sql);
       $row = mysql_fetch_row($result);
       print_r($row);
       mysql_free_result($result);
       mysql_close($conn);
?>

//缩略图部分------------------------------------------------------------
//判断缩略图大小函数-----
    function ResizeImage($im,$maxwidth,$maxheight,$name){
    $width = imagesx($im);
    $height = imagesy($im);
    if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
        if($maxwidth && $width > $maxwidth){
            $widthratio = $maxwidth/$width;
            $RESIZEWIDTH=true;
        }
        if($maxheight && $height > $maxheight){
            $heightratio = $maxheight/$height;
            $RESIZEHEIGHT=true;
        }
        if($RESIZEWIDTH && $RESIZEHEIGHT){
            if($widthratio < $heightratio){
                $ratio = $widthratio;
            }else{
                $ratio = $heightratio;
            }
        }elseif($RESIZEWIDTH){
            $ratio = $widthratio;
        }elseif($RESIZEHEIGHT){
            $ratio = $heightratio;
        }
        $newwidth = $width * $ratio;
        $newheight = $height * $ratio;
        if(function_exists("imagecopyresampled")){
              $newim = imagecreatetruecolor($newwidth, $newheight);
              imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        }else{
            $newim = imagecreate($newwidth, $newheight);
              imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        }
        ImageJpeg ($newim,$smalladdrname.$name.".jpg");
        ImageDestroy ($newim);
    }else{
        ImageJpeg ($im,$smalladdrname.$name.".jpg");
    }
    }
    //生成部分
    if($_FILES['image']['size']){
    if($_FILES['image']['type'] == "image/pjpeg"){
        $im = imagecreatefromjpeg($bigaddrname.$exname);
    }elseif($_FILES['image']['type'] == "image/x-png"){
        $im = imagecreatefrompng($bigaddrname.$exname);
    }elseif($_FILES['image']['type'] == "image/gif"){
        $im = imagecreatefromgif($bigaddrname.$exname);
    }
    if($im){
        if(file_exists($smalladdrname.".jpg")){
            unlink($smalladdrname.".jpg");
        }
        ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$smalladdrname);
        ImageDestroy ($im);
    }
    }
    echo "<div align='center'><a href='javascript:window.history.back()'>上传成功</a></div>";
}
//缩略图结束-----------------------------------------------------
  
}

php保存远程图片,我这个系统是自己写了,所以上传图片时相当麻痹了,我还用了新云的一个系统,他那编辑器支持远程保存图片功能,但那个是asp的而我的系统只支持php我想php可能比asp更容易实现这个功能吧,开始想到用file_get_contents(),然后用fopen保存file_get_content取得的内容就OK了,下面是我实现的一个小程序.

<?php
$filed="http://111cn.net/conference_php_quebec.gif";
$datad=file_get_contents($filed);
$mydr=basename($file);
fwrite(fopen($mydr,"wb+"),$data);
?>

就这简单了,但是这样我觉得没什么实现的用途所以就写了正下面的一段代码

PHP 代码:
if($_POST['savepic']=="checked"){

$img_array = array();
$content1 = stripslashes($_POST['post_content']);
if (get_magic_quotes_gpc()) $content1 = stripslashes($content1);

preg_match_all("/(src|SRC)=\"(http:\/\/(.+).(gif|jpg|jpeg|bmp|png))/isU",$content1,$img_array);//正则开始匹配所有的图片并放入数据
$img_array = array_unique(dhtmlspecialchars($img_array[2]));
 
print_r($img_array);
set_time_limit(0);  
foreach ($img_array as $key => $value) {
$get_file = file_get_contents($value);//开始获取图片了哦
$filetime = time();
$filepath = "../wp-content/uploads/pic2/".date("Y",$filetime)."/".date("m",$filetime)."/";//图片保存的路径目录
!is_dir($filepath) ? mkdirs($filepath) : null; 
$filename = date("YmdHis",$filetime).random(1).'.'.substr($value,-3,3);
$fp = @fopen($filepath.$filename,"w");
@fwrite($fp,$get_file);
fclose($fp);//完工,哈
$content1 = preg_replace("/".addcslashes($value,"/")."/isU", "/wp-content/uploads/pic2/".date("Y",$filetime)."/".date("m",$filetime)."/".$filename, $content1);  //顺便替换一下文章里面的图片地址
 

  上面的函数就实现了你编辑器里所有图片都保存了.


<?php
printbreviaryImg("image/img.gif","ss","35","22");
function PrintBreviaryImg($spathimg,$photoname, $simgwidth, $simgheight)
{
  if(file_exists($spathimg))
  {
$size=GetImageSize($spathimg);
switch ( $size[2] ){
case 1: $origImg = @ImageCreateFromGIF($spathimg);
    break;
case 2: $origImg = @imagecreatefromjpeg($spathimg);
    break;
case 3: $origImg = @ImageCreateFromPNG($spathimg);
    break;
}
//生成缩略图
$simgsize=GetImgSize($simgwidth,$simgheight,$size[0],$size[1]);
if(function_exists("imagecopyresampled"))
{
$im = imagecreatetruecolor( $simgsize['width'],$simgsize['height'] );
imagecopyresampled( $im, $origImg, 0, 0, 0, 0,$simgsize['width'],$simgsize['height'],$size[0],$size[1] );
}
else
{
$im = imagecreate( $simgwidth,$simgheight );
imagecopyresized($im, $origImg, 0, 0, 0, 0,$simgwidth,$simgwidth,$simgsize['width'],$simgsize['height'] );
}
//添加水印
$dstX = $simgsize['width'] - 10;
$dstY = $simgsize['height'] - 10;
$string="[url=http://www.gd.com.cn]www.gd.com.cn[/url]";
$clo = imagecolorallocate($im, 255, 255, 255);
imagettftext($im, 48, 0, $dstX, $dstY, $clo, '../../fonts/arialbd.ttf', $string);
//添加水印
/*
$logoImage = ImageCreateFromGif('image/img.gif');
$logoW = ImageSX($logoImage);
    $logoH = ImageSY($logoImage);
    $dstX = -($simgsize['width']-$logoW);
$dstY = -($simgsize['height']-$logoH);
imagecopymerge($im, $logoImage, 0, 0, 0, 0, $logoW, $logoH,30);
    */
Imagejpeg($im,$photoname);
  }
  else
  {
    echo "暂缺图片";
  }
}
?>

php读取execel文档

<?php
$path = realpath("Book1.xls");
//创建ADO对象
$ado = new COM("ADODB.Connection") or die("ADO Init Failt");
$ado -> Open("DRIVER={Microsoft Excel Driver (*.xls)};dbq=".$path);
//选择工作表请用:[表名称$]
$sql="select * from [user$]";
$rs=$ado->Execute($sql);
?>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
  <tr>
    <td align="center">ID</td>
    <td align="center">UNM</td>
 
    <td align="center">EMAIL</td>
    <td align="center">QQ</td>
  <td height="25" align="center">Phone</td>
    <td align="center">Other</td>
  </tr>
  <?php
 while(!$rs->eof())
{
  ?>
  <tr>
    <td align="center" bgcolor="#FFFFFF"><?=$rs["ID"]?></td>
    <td align="center" bgcolor="#FFFFFF"><?=$rs["unm"]?></td>
 
    <td align="center" bgcolor="#FFFFFF"><?=$rs["email"]?></td>
    <td align="center" bgcolor="#FFFFFF"><?=$rs["qq"]?></td>
  <td height="25" align="center" bgcolor="#FFFFFF"><?=$rs["phone"]?></td>
    <td align="center" bgcolor="#FFFFFF"><?=$rs["other"]?></td>
  </tr>
  <?php
  $rs->movenext;
  }
  ?>
</table>

[!--infotagslink--]

相关文章

  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • jQuery+PHP发布的内容进行无刷新分页(Fckeditor)

    这篇文章将使用jQuery,并结合PHP,将Fckeditor发布的内容进行分页,并且实现无刷新切换页面。 本文假设你是WEB开发人员,掌握了jQuery和PHP相关知识,并且熟知Fckeditor的配置和使用。...2015-10-23
  • 解决vue刷新页面以后丢失store的数据问题

    这篇文章主要介绍了解决vue刷新页面以后丢失store的数据问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-12
  • node.js+express留言板功能实现示例

    本文介绍基于nodejs+express+art-template的留言板功能。包含列表界面、添加界面和发送留言功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-21
  • 解决vuex数据页面刷新后初始化操作

    这篇文章主要介绍了解决vuex数据页面刷新后初始化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-26
  • php实现网站留言板功能

    我要实现的就是下图的这种样式,可参考下面这两个网站的留言板,他们的实现原理都是一样的畅言留言板样式:网易跟帖样式:原理 需要在评论表添加两个主要字段 id 和 pid ,其他字段随意添加,比如文章id、回复时间、回复内容、...2015-11-08
  • 基于jquery实现表格无刷新分页

    这篇文章主要介绍了基于jquery实现表格无刷新分页,功能实现了前端排序功能,增加了前端搜索功能,感兴趣的小伙伴们可以参考一下...2016-01-08
  • java后台实现js关闭本页面,父页面指定跳转或刷新操作

    这篇文章主要介绍了java后台实现js关闭本页面,父页面指定跳转或刷新操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-16
  • php+ajax制作无刷新留言板

    本文就是和大家分享一款由php结合ajax实现的无刷新留言板,先给大家看一下最后的效果图:数据库连接代码如下: <&#63;php$conn = @mysql_connect("localhost","root","root") or die ("MySql连接错误");mysql_select_db("d...2015-10-30
  • Vue 中获取当前时间并实时刷新的实现代码

    这篇文章主要介绍了Vue 中获取当前时间并实时刷新,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-13
  • vue实现在进行增删改操作后刷新页面

    这篇文章主要介绍了vue实现在进行增删改操作后刷新页面,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-05
  • C#实现刷新桌面的方法

    这篇文章主要介绍了C#实现刷新桌面的方法,涉及C#基于shell32.dll动态链接库实现系统桌面刷新的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • Ionic如何实现下拉刷新与上拉加载功能

    在日常项目开发中我们经常见到下拉刷新上拉加载的功能,接下来通过本文给大家介绍ionic如何实现下拉刷新与上拉加载的相关资料,需要的朋友可以参考下...2016-06-12
  • 纯javascript实现简单下拉刷新功能

    代码很简单,实现的功能却很实用,直接奉上代码CSS:复制代码 代码如下: <meta charset="utf-8" /> <title>Pull to Refresh</title> <meta name="viewport" content="width=device-width,height=device-height,inital-scal...2015-03-15
  • Springboot使用thymeleaf动态模板实现刷新

    这篇文章主要介绍了Springboot使用thymeleaf动态模板实现刷新,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-31
  • Vue实现简单的留言板

    这篇文章主要为大家详细介绍了Vue实现简单的留言板,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-10-22
  • javascript实现简单留言板案例

    这篇文章主要为大家详细介绍了javascript实现简单留言板案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • jQuery无刷新切换主题皮肤实例讲解

    主题皮肤切换功能在很多网站和系统中应用,用户可以根据此功能设置自己喜欢的主题颜色风格,增强了用户体验。本文将围绕如何使用jQuery实现点击无刷新切换主题皮肤功能。实现该功能的原理就是通过点击定义的主题样式,改变...2015-10-23
  • Go语言实现简单留言板的方法

    这篇文章主要介绍了Go语言实现简单留言板的方法,涉及数据库、模板页面元素等留言板相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-03
  • vue相同路由跳转强制刷新该路由组件操作

    这篇文章主要介绍了vue相同路由跳转强制刷新该路由组件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-05