+ -
当前位置:首页 → 问答吧 → 再发三个自己经常用的函数

再发三个自己经常用的函数

时间:2009-03-13

来源:互联网

[php]
//构造防灌水防外部提交函数---------------------------------------------------------------------------------------------------
//使用Session进行判定:
//填写表单的页面中,我们在最前端加上:$_SESSION["allformpost"]=time(); //登记填写时的时间  
//只要在处理用户提交数据前加上该函数即可。
// if ( $_POST['submit'] )
//   {
//       preventPour();//防灌水
//       .............//程序代码
//   }
function preventPour()
{
if(strtoupper($_SERVER["REQUEST_METHOD"])!=”POST”){ die("错误:请勿在外部提交。"); } //检查页面获得方法是否为POST
if(!isset($_SESSION["allformpost"]) or (time()-$_SESSION["allformpost"] < 5)){ die("错误:请勿在外部提交。"); } //检查留言填写时的时间
if(isset($_SESSION["posttime"]) and (time()-$_SESSION["posttime"] < 120)){ die("错误:两次提交留言的间隔不得少于 2 分钟。"); } //检查留言间隔
unset($_SESSION["allformpost"]); //注销allformpost变量以防止一次进入填写页面多次进行提交
$_SESSION["posttime"]=time(); //登记发送留言的时间,防止灌水或恶意攻击
}
//定义图片采集函数 $url 为目标地址 $filename 为指定名称----------------------------------------------------------------
//调用图片采集函数 如名称为空 名称用时间定义 格式为dMYHis
//$img=getImage($pic,"");
//if($img){
//...
//数据处理及保存
//...
//}else{}
function getImage($url,$filename="") {
// if(!$url) return false; //判断是否有目标地址 如没有跳出
  if (!$url){               //判断是否有目标地址 如没有用默认图片连接
  $filename= "upimg/my.gif"; //绝对路径
}else{  
  if(!$filename) {       //判断是否指定了图片名称
    $ext=strrchr(strtolower($url),".");  //判断图片 类型
    if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false;
    $filename=date("dMYHis").$ext;  //定义本地图片名称
$filename= "upimg/".$filename; //绝对路径
//$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];//使用简短名称变量
//$filename= "$DOCUMENT_ROOT/../img/".$filename;
  }
  ob_start(); //打开缓冲区
  if([email=!@readfile($url]!@readfile($url[/email])) return false; //读入图片文件并写入到输出缓冲 如地址图片错误 跳出
  $img = ob_get_contents(); //取得缓冲的内容到 $img
  ob_end_clean(); //删除内部缓冲区的内容,并且关闭内部缓冲区
  
  [email=$fp2=@fopen($filename]$fp2=@fopen($filename[/email], "a"); //打开图片文件已本地图片名称 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
  fwrite($fp2,$img); //缓冲的内容写入文件中
  fclose($fp2); //关闭文件
}
  return $filename; //返回文件名  
  
}

//静态页生成函数 $url 为目标地址 $filename 为指定名称----------------------------------------------------------------
//调用图片采集函数 如名称为空 名称用时间定义 格式为dMYHis
//$img=getImage($pic,"");
//if($img){
//...
//数据处理及保存
//...
//}else{}
function get_file($get_data,$get_name) {
if(!$get_data) return false; //判断是否有目标地址 如没有跳出
if(!$get_name) return false;  //判断是否指定了图片名称
    $get_name=$get_name.'.html';  //定义本地图片名称
$get_name= "htmls/".$get_name; //绝对路径
//$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];//使用简短名称变量
//$filename= "$DOCUMENT_ROOT/../img/".$filename;
  [email=$fp3=@fopen($get_name]$fp3=@fopen($get_name[/email], "w"); //打开图片文件已本地图片名称 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
if (fwrite($fp3,$get_data)){//缓冲的内容写入文件中
  fclose($fp3); //关闭文件
  return $get_name; //返回文件名  
} else {
return false;
}
}

[/php]

作者: joj_79   发布时间: 2009-03-13

如果能将函数功能 与使用方法写详细点就更好了

作者: E蜗牛   发布时间: 2009-03-14

帮楼主顶一下

作者: qihang35   发布时间: 2009-03-14

看不懂这句
LZ帮忙解释下
[email=$fp3=@fopen($get_name]$fp3=@fopen($get_name[/email], "w");

作者: 苤子   发布时间: 2009-03-15

很好的动西....收藏 

作者: yfhanbing   发布时间: 2009-03-16

原帖由 苤子 于 2009-3-15 00:38 发表
看不懂这句
LZ帮忙解释下
$fp3=@fopen($get_name, "w");
这个应该是UBB自动识别EMAIL邮件加上的

可以吧表情删除

作者: 林轻灵   发布时间: 2009-03-16

原帖由 林轻灵 于 2009-3-16 09:55 发表


这个应该是UBB自动识别EMAIL邮件加上的

可以吧和表情删除
我也忘记了 很多年前写的。。。

作者: joj_79   发布时间: 2009-03-16

顶一下。。。
不过要是附带点应用实例更好些。。。呵呵

作者: kakashilw   发布时间: 2009-03-18

呵呵 参考一下你的..

作者: xinxing520   发布时间: 2009-03-18

~~~

好帖收藏~

作者: JOJ_97   发布时间: 2009-03-20