php 留言板防刷新
<?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>
相关文章
php无刷新利用iframe实现页面无刷新上传文件(1/2)
利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
这篇文章将使用jQuery,并结合PHP,将Fckeditor发布的内容进行分页,并且实现无刷新切换页面。 本文假设你是WEB开发人员,掌握了jQuery和PHP相关知识,并且熟知Fckeditor的配置和使用。...2015-10-23- 这篇文章主要介绍了解决vue刷新页面以后丢失store的数据问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-12
- 本文介绍基于nodejs+express+art-template的留言板功能。包含列表界面、添加界面和发送留言功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-21
- 这篇文章主要介绍了解决vuex数据页面刷新后初始化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-26
- 我要实现的就是下图的这种样式,可参考下面这两个网站的留言板,他们的实现原理都是一样的畅言留言板样式:网易跟帖样式:原理 需要在评论表添加两个主要字段 id 和 pid ,其他字段随意添加,比如文章id、回复时间、回复内容、...2015-11-08
- 这篇文章主要介绍了基于jquery实现表格无刷新分页,功能实现了前端排序功能,增加了前端搜索功能,感兴趣的小伙伴们可以参考一下...2016-01-08
- 这篇文章主要介绍了java后台实现js关闭本页面,父页面指定跳转或刷新操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-16
- 本文就是和大家分享一款由php结合ajax实现的无刷新留言板,先给大家看一下最后的效果图:数据库连接代码如下: <?php$conn = @mysql_connect("localhost","root","root") or die ("MySql连接错误");mysql_select_db("d...2015-10-30
- 这篇文章主要介绍了Vue 中获取当前时间并实时刷新,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-13
- 这篇文章主要介绍了vue实现在进行增删改操作后刷新页面,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-05
- 这篇文章主要介绍了C#实现刷新桌面的方法,涉及C#基于shell32.dll动态链接库实现系统桌面刷新的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 在日常项目开发中我们经常见到下拉刷新上拉加载的功能,接下来通过本文给大家介绍ionic如何实现下拉刷新与上拉加载的相关资料,需要的朋友可以参考下...2016-06-12
- 代码很简单,实现的功能却很实用,直接奉上代码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动态模板实现刷新,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-31
- 这篇文章主要为大家详细介绍了Vue实现简单的留言板,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-10-22
- 这篇文章主要为大家详细介绍了javascript实现简单留言板案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
- 主题皮肤切换功能在很多网站和系统中应用,用户可以根据此功能设置自己喜欢的主题颜色风格,增强了用户体验。本文将围绕如何使用jQuery实现点击无刷新切换主题皮肤功能。实现该功能的原理就是通过点击定义的主题样式,改变...2015-10-23
- 这篇文章主要介绍了Go语言实现简单留言板的方法,涉及数据库、模板页面元素等留言板相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-03
- 这篇文章主要介绍了vue相同路由跳转强制刷新该路由组件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-05