php文件处理类

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

php文件处理类

<?php
//-------------------------------------
//-------------------------------------
class upload {
    var $dir;             //附件存放物理目录
    var $time;             //自定义文件上传时间
    var $allow_types;     //允许上传附件类型
    var $field;             //上传控件名称
    var $maxsize;         //最大允许文件大小,单位为KB
    var $thumb_width;    //缩略图宽度
    var $thumb_height;   //缩略图高度
    var $watermark_file; //水印图片地址
    var $watermark_pos;  //水印位置
    var $watermark_trans;//水印透明度
    //构造函数
    //$types : 允许上传的文件类型 , $maxsize : 允许大小 ,  $field : 上传控件名称 , $time : 自定义上传时间
    function upload($types = 'jpg|png', $maxsize = 1024, $field = 'attach', $time = '') {
        $this->allow_types = explode('|',$types);
        $this->maxsize = $maxsize * 1024;
        $this->field = $field;
        $this->time = $time ? $time : time();
    }
    //设置并创建文件具体存放的目录
    //$basedir  : 基目录,必须为物理路径
    //$filedir  : 自定义子目录,可用参数{y}、{m}、{d}
    function set_dir($basedir,$filedir = '') {
        $dir = $basedir;
        !is_dir($dir) && @mkdir($dir,0777);
        if (!empty($filedir)) {
            $filedir = str_replace(array('{y}','{m}','{y}'),array(date('Y',$this->time),date('m',$this->time),date('d',$this->time)),strtolower($filedir));
            $dirs = explode('/',$filedir);
            foreach ($dirs as $d) {
                !empty($d) && $dir .= $d.'/';
                !is_dir($dir) && @mkdir($dir,0777);
            }
        }
        $this->dir = $dir;
    }
    //图片缩略图设置,如果不生成缩略图则不用设置
    //$width : 缩略图宽度 , $height : 缩略图高度
    function set_thumb ($width = 0, $height = 0) {
        $this->thumb_width  = $width;
        $this->thumb_height = $height;
    }
    //图片水印设置,如果不生成添加水印则不用设置
    //$file : 水印图片 , $pos : 水印位置 , $trans : 水印透明度
    function set_watermark ($file, $pos = 6, $trans = 80) {
        $this->watermark_file  = $file;
        $this->watermark_pos   = $pos;
        $this->watermark_trans = $trans;
    }
    /*----------------------------------------------------------------
    执行文件上传,处理完返回一个包含上传成功或失败的文件信息数组,
    其中:name 为文件名,上传成功时是上传到服务器上的文件名,上传失败则是本地的文件名
          dir  为服务器上存放该附件的物理路径,上传失败不存在该值
          size 为附件大小,上传失败不存在该值
          flag 为状态标识,1表示成功,-1表示文件类型不允许,-2表示文件大小超出
    -----------------------------------------------------------------*/
    function execute() {
        $files = array(); //成功上传的文件信息
        $field = $this->field;
        $keys = array_keys($_FILES[$field]['name']);
        foreach ($keys as $key) {
            if (!$_FILES[$field]['name'][$key]) continue;
           
            $fileext = $this->fileext($_FILES[$field]['name'][$key]); //获取文件扩展名
            $filename = $this->time.mt_rand(100,999).'.'.$fileext; //生成文件名
            $filedir = $this->dir;    //附件实际存放目录
            $filesize = $_FILES[$field]['size'][$key]; //文件大小
           
            //文件类型不允许
            if (!in_array($fileext,$this->allow_types)) {
                $files[$key]['name'] = $_FILES[$field]['name'][$key];
                $files[$key]['flag'] = -1;
                continue;
            }
            //文件大小超出
            if ($filesize > $this->maxsize) {
                $files[$key]['name'] = $_FILES[$field]['name'][$key];
                $files[$key]['flag'] = -2;
                continue;
            }
            $files[$key]['name'] = $filename;
            $files[$key]['dir'] = $filedir;
            $files[$key]['size'] = $filesize;
            //保存上传文件并删除临时文件
            if (is_uploaded_file($_FILES[$field]['tmp_name'][$key])) {
                move_uploaded_file($_FILES[$field]['tmp_name'][$key],$filedir.$filename);
                @unlink($_FILES[$field]['tmp_name'][$key]);
                $files[$key]['flag'] = 1;
                //对图片进行加水印和生成缩略图
                if (in_array($fileext,array('jpg','png','gif'))) {
                    if ($this->thumb_width) {
                        if ($this->create_thumb($filedir.$filename,$filedir.'thumb_'.$filename)) {
                            $files[$key]['thumb'] = 'thumb_'.$filename;  //缩略图文件名
                        }
                    }
                    $this->create_watermark($filedir.$filename);
                }
            }
        }
        return $files;
    }
    //创建缩略图,以相同的扩展名生成缩略图
    //$src_file : 来源图像路径 , $thumb_file : 缩略图路径
    function create_thumb ($src_file,$thumb_file) {
        $t_width  = $this->thumb_width;
        $t_height = $this->thumb_height;
        if (!file_exists($src_file)) return false;
        $src_info = getImageSize($src_file);
        //如果来源图像小于或等于缩略图则拷贝源图像作为缩略图
        if ($src_info[0] <= $t_width && $src_info[1] <= $t_height) {
            if (!copy($src_file,$thumb_file)) {
                return false;
            }
            return true;
        }
        //按比例计算缩略图大小
        if ($src_info[0] - $t_width > $src_info[1] - $t_height) {
            $t_height = ($t_width / $src_info[0]) * $src_info[1];
        } else {
            $t_width = ($t_height / $src_info[1]) * $src_info[0];
        }
        //取得文件扩展名
        $fileext = $this->fileext($src_file);
        switch ($fileext) {
            case 'jpg' :
                $src_img = ImageCreateFromJPEG($src_file); break;
            case 'png' :
                $src_img = ImageCreateFromPNG($src_file); break;
            case 'gif' :
                $src_img = ImageCreateFromGIF($src_file); break;
        }
        //创建一个真彩色的缩略图像
        $thumb_img = @ImageCreateTrueColor($t_width,$t_height);
        //ImageCopyResampled函数拷贝的图像平滑度较好,优先考虑
        if (function_exists('imagecopyresampled')) {
            @ImageCopyResampled($thumb_img,$src_img,0,0,0,0,$t_width,$t_height,$src_info[0],$src_info[1]);
        } else {
            @ImageCopyResized($thumb_img,$src_img,0,0,0,0,$t_width,$t_height,$src_info[0],$src_info[1]);
        }
        //生成缩略图
        switch ($fileext) {
            case 'jpg' :
                ImageJPEG($thumb_img,$thumb_file); break;
            case 'gif' :
                ImageGIF($thumb_img,$thumb_file); break;
            case 'png' :
                ImagePNG($thumb_img,$thumb_file); break;
        }
        //销毁临时图像
        @ImageDestroy($src_img);
        @ImageDestroy($thumb_img);
        return true;
    }
    //为图片添加水印
    //$file : 要添加水印的文件
    function create_watermark ($file) {
        //文件不存在则返回
        if (!file_exists($this->watermark_file) || !file_exists($file)) return;
        if (!function_exists('getImageSize')) return;
       
        //检查GD支持的文件类型
        $gd_allow_types = array();
        if (function_exists('ImageCreateFromGIF')) $gd_allow_types['image/gif'] = 'ImageCreateFromGIF';
        if (function_exists('ImageCreateFromPNG')) $gd_allow_types['image/png'] = 'ImageCreateFromPNG';
        if (function_exists('ImageCreateFromJPEG')) $gd_allow_types['image/jpeg'] = 'ImageCreateFromJPEG';
        //获取文件信息
        $fileinfo = getImageSize($file);
        $wminfo   = getImageSize($this->watermark_file);
        if ($fileinfo[0] < $wminfo[0] || $fileinfo[1] < $wminfo[1]) return;
        if (array_key_exists($fileinfo['mime'],$gd_allow_types)) {
            if (array_key_exists($wminfo['mime'],$gd_allow_types)) {
               
                //从文件创建图像
                $temp = $gd_allow_types[$fileinfo['mime']]($file);
                $temp_wm = $gd_allow_types[$wminfo['mime']]($this->watermark_file);
                //水印位置
                switch ($this->watermark_pos) {               
                    case 1 :  //顶部居左
                        $dst_x = 0; $dst_y = 0; break;               
                    case 2 :  //顶部居中
                        $dst_x = ($fileinfo[0] - $wminfo[0]) / 2; $dst_y = 0; break;               
                    case 3 :  //顶部居右
                        $dst_x = $fileinfo[0]; $dst_y = 0; break;               
                    case 4 :  //底部居左
                        $dst_x = 0; $dst_y = $fileinfo[1]; break;               
                    case 5 :  //底部居中
                        $dst_x = ($fileinfo[0] - $wminfo[0]) / 2; $dst_y = $fileinfo[1]; break;       
                    case 6 :  //底部居右
                        $dst_x = $fileinfo[0]-$wminfo[0]; $dst_y = $fileinfo[1]-$wminfo[1]; break;
                    default : //随机
                        $dst_x = mt_rand(0,$fileinfo[0]-$wminfo[0]); $dst_y = mt_rand(0,$fileinfo[1]-$wminfo[1]);
                }
                if (function_exists('ImageAlphaBlending')) ImageAlphaBlending($temp_wm,True); //设定图像的混色模式
                if (function_exists('ImageSaveAlpha')) ImageSaveAlpha($temp_wm,True); //保存完整的 alpha 通道信息
                //为图像添加水印
                if (function_exists('imageCopyMerge')) {
                    ImageCopyMerge($temp,$temp_wm,$dst_x,$dst_y,0,0,$wminfo[0],$wminfo[1],$this->watermark_trans);
                } else {
                    ImageCopyMerge($temp,$temp_wm,$dst_x,$dst_y,0,0,$wminfo[0],$wminfo[1]);
                }
                //保存图片
                switch ($fileinfo['mime']) {
                    case 'image/jpeg' :
                        @imageJPEG($temp,$file);
                        break;
                    case 'image/png' :
                        @imagePNG($temp,$file);
                        break;
                    case 'image/gif' :
                        @imageGIF($temp,$file);
                        break;
                }
                //销毁零时图像
                @imageDestroy($temp);
                @imageDestroy($temp_wm);
            }
        }
    }
    //获取文件扩展名
    function fileext($filename) {
        return strtolower(substr(strrchr($filename,'.'),1,10));
    }
}
?>

php生成 google map代码

<title>Google Sitemap生成器</title>
<style type="text/css">
<!--
.agreement {
 border: 1px solid #666666;
}
.green {
 color: #00CC00;
 font-weight: bold;
}
.red {color: #FF0000; font-weight: bold; }
#scroll {
 border: 1px solid #0000FF;
 line-height: 25px;
 height: 25px;
 width: 280px;
 text-align: left;
}
.red{
 background-color:#999999;
 text-align: center;
 filter:Alpha(opacity=80);/*透明度*/
}
#act {
 background-image: url([img]http://www.gyqpw.com/img/loading.gif[/img]);
 height: 27px;
 width: 282px;
}
-->
</style>
<script>
 var MyMar;
 function monitoring()
 {
  if(document.readyState =='complete')
  {
      window.location='?i='+query_get();
  }
 }
 
 function query_get()
 {   
  var querystr = window.location.href.split("=");
  
  if(!Number(querystr[1]))
  {
   var value=0;
  }else{
   var value=Number(querystr[1]);
  }
  
  return Number(value)+1;  
 }
 
 MyMar=setInterval('monitoring()',3000);
</script>
<div style="text-align: center;" id=all_a>
 <div align="center" id=act>
  <div align="center" id=scroll>
   <div class="red" style="width:1%;"></div>
  </div>
 </div>
</div>
<div align="center">
 正在检索:<span id=link></span>
</div>
<div id="logs" class="agreement" style="height:420px; overflow:auto;">
<?
    /*===========================================================
    = 版权协议:
    =    GPL ()
    =------------------------------------------------------------
    = 摘    要:URL收集函数 PHP5
    = 版    本:1.0
    =------------------------------------------------------------
    = 开源stal 项目组
    = 更新作者:jd808
    = 最后日期:2008-4-18
    ============================================================*/
   
$file='sitemap.xml'; //GOOGLE 需要的文件 执行时则做首页的临时URL存储文件
$temp_file='temp.xml';//内页URL临时存储文件
$url="http://www.gyqpw.com/"; //要搜索的网站
$timea=time();//开始时间 用户无需理它 只管上面3个参数即可
if(!$_GET['i'])
{
 file_put_contents($file,'');
 file_put_contents($temp_file,'');
 file_put_contents($file,con($url,$timea));
 
 echo "<script>
    window.location='?i=bak';
  </script>";
}else{
 consts($_GET['i'],$timea,$file,$url);
}
function con($url,$timea) //控制
{
 echo "<script>
    document.getElementById('link').innerHTML='正在收集 ".$url." 的信息!';
 </script>";
 
   $str = file_get_contents($url);
 
   $collection_url=collection_url($str,$url);
  
   $collection_url=array_flip($collection_url);
    foreach($collection_url as $key=>$value)
    {
  if(count(explode($url,$key))==2)
  {
   $strurl.=$key."\n";
  }
    }
 
    return  $strurl;
}
function consts($i,$timea,$file,$urlys)
{
   $str =file_get_contents($file); //读取页面数据并生产字符串
  
   $url=explode("\n",$str);
  
   $sum=count($url)-1;
  
   if($i=='bak')
   {
    $i=0;
   }
  
   /*进度条*/
    $wid=round($i/$sum*100,2)."%";
  $div="<div class='red'  style='width:".$wid.";'>$wid</div>";
  echo '<script>
    document.getElementById("scroll").innerHTML="'.$div.'";
   </script>';
   
  ob_flush();//释放缓存
  flush(); //将不再缓存里的数据发送到浏览器去
   /*进度条END */
  
   for($j=$i;$j<$sum;$j++)
   {
     if(!$url[$j])
   {
    continue;
   }
   
     if(!detection_url($url[$j])) //检测URL是否合法
   {
    continue;
   }
   
     $timeb=time();//跟踪时间
   if(($timeb-$timea)>=25)
   {
    memory($collection_url,$j); //存储数据
   }
   /* URL显示跟踪*/
   echo "<script>
      document.getElementById('link').innerHTML='".$url[$j]."';
     </script>";
   ob_flush();//释放缓存
   flush(); //将不再缓存里的数据发送到浏览器去
   /* URL显示跟踪END*/
   $urlstr=@file_get_contents($url[$j]);
   
   $collection_url[]=collection_url($urlstr,$urlys);
   
   $timec=time();//跟踪时间
   if(($timec-$timea)>=25)
   {
    memory($collection_url,$j); //存储数据
   }
   
   if($j==$sum-1)
   {
    memorys(); //存储数据 主要是生成正式的xml
   }
   }
}
function collection_url($str,$url) //收集URL并返回一个数组(以页面为主)
{
 preg_match_all('/<a.*?href="(.+?)"/is',$str,$matches);
 
    $urlexp=$matches[1];
 
    for($j=0;$j<count($urlexp);$j++)
    {
  $urlexp[$j]=ltrim(str_replace("\r\n",'',$urlexp[$j]));
  $urlexp[$j]=ltrim(str_replace("\n",'',$urlexp[$j]));
  $urlexp[$j]=ltrim(str_replace("\r",'',$urlexp[$j]));
  
  if($urlexp[$j]=='#')
  {
   continue;
  }
  
  if($urlexp[$j]=='/#')
  {
   continue;
  }
  
        if(!strchr($urlexp[$j],'http://'))
        {//没有http://
   $urlall[]=$url.$urlexp[$j];
   echo $url.$urlexp[$j].'<br>';
   print "<script>document.getElementById('logs').scrollTop = document.getElementById('logs').scrollHeight;</script>";
   ob_flush();//释放缓存
   flush(); //将不再缓存里的数据发送到浏览器去
   
        }else{
   if(count(explode($url,$urlexp[$j]))==2)
   {
    $urlall[]=$urlexp[$j];
    
    echo $urlexp[$j].'<br>';
    print "<script>document.getElementById('logs').scrollTop = document.getElementById('logs').scrollHeight;</script>";
    ob_flush();//释放缓存
    flush(); //将不再缓存里的数据发送到浏览器去
   }else{
    unset($urlexp[$j]);
   }
  }
    }
    return $urlall; //返回本页面搜索所得到的数组
}
function memory($collection_url,$i)
{
 
 global $temp_file;
 
 if(is_array($collection_url))
 {
  for($h=0;$h<count($collection_url);$h++)
  {
   for($l=0;$l<count($collection_url[$h]);$l++)
   {
    $strts.=$collection_url[$h][$l]."\n";
   }
   
  }
  
  $wstr=file_get_contents($temp_file);
  
  file_put_contents($temp_file,$wstr.$strts);
  
  if($i==0)
  {
   $i=2;
  }
  
  $k=$i-1;
  
  echo "<script>
     window.location='?i=".$k."';
   </script>";
  exit;
 }
}
function memorys() //主要是生成正式的xml
{
 global $temp_file,$file;
 
 $file_arr=array_flip(file($file));
 
 $temp_file_arr=array_flip(file($temp_file));
 
 $xmla='<?xml version="1.0" encoding="UTF-8"?>'."\r\n".'<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">';
 
 $xmlc="\r\n</urlset>";
 
 foreach($file_arr as $keya=>$valuea)
 {
  $keya=ltrim(str_replace("\r\n",'',$keya));
  $keya=ltrim(str_replace("\n",'',$keya));
  $keya=ltrim(str_replace("\r",'',$keya));
  
  $xml.='<url>
    <loc>'.$keya.'</loc>
    <lastmod>'.date("Y-m-d",time()).'</lastmod>
    <changefreq>daily</changefreq>
   </url>';
 }
 
 foreach($temp_file_arr as $keyb=>$valueb)
 {
  $keyb=ltrim(str_replace("\r\n",'',$keyb));
  $keyb=ltrim(str_replace("\n",'',$keyb));
  $keyb=ltrim(str_replace("\r",'',$keyb));
  
  $xml.='<url>
    <loc>'.$keyb.'</loc>
    <lastmod>'.date("Y-m-d",time()).'</lastmod>
    <changefreq>daily</changefreq>
   </url>';
 }
 
 $strts=$xmla.$xml.$xmlc;
 
 file_put_contents($file,$strts);
 
 echo "<script>
   clearInterval(MyMar);
    document.getElementById('link').innerHTML='URL已经收集完成!';
      document.getElementById('all_a').innerHTML='<b>XML生成已完成!</b>';
   </script>";
}
function detection_url($url)
{
 if(strrchr($url,'='))
 {
  return true;
 }
 
 if(substr($url,strlen($url)-1,1)=='/')
 {
  return true;
 }
 
 $postfix= strrchr($url,'.');
 
 switch ($postfix)
 {
  case ".php":
   return true;
  break;
  
  case ".html":
   return true;
  break;
  
  case ".htm":
   return true;
  break;
  
  case ".asp":
   return true;
  break;
  
  case ".aspx":
   return true;
  break;
  
  case ".shtml":
   return true;
  break;
 }
 return false;
}
?>
</div>

php把ubb代码转换成html

function  ubb($Text) 
  {
  $Text=htmlspecialchars($Text);
  $Text=stripslashes($Text); 
  $Text=ereg_replace("\r\n","<br/>",$Text);
  $Text=ereg_replace("\r","<br/>",$Text);
  $Text=nl2br($Text);
  $Text=preg_replace("/\\t/is"," ",$Text);
  $Text=ereg_replace("  ","&nbsp;",$Text); 
  $Text=preg_replace("/\[h1\](.+?)\[\/h1\]/is","<h1>\\1</h1>",$Text);
  $Text=preg_replace("/\[h2\](.+?)\[\/h2\]/is","<h2>\\1</h2>",$Text);
  $Text=preg_replace("/\[h3\](.+?)\[\/h3\]/is","<h3>\\1</h3>",$Text);
  $Text=preg_replace("/\[h4\](.+?)\[\/h4\]/is","<h4>\\1</h4>",$Text);
  $Text=preg_replace("/\[h5\](.+?)\[\/h5\]/is","<h5>\\1</h5>",$Text);
  $Text=preg_replace("/\[h6\](.+?)\[\/h6\]/is","<h6>\\1</h6>",$Text);
  $Text=preg_replace("/\[center\](.+?)\[\/center\]/is","<center>\\1</center>",$Text);
  $Text=preg_replace("/\[big\](.+?)\[\/big\]/is","<big>\\1</big>",$Text);
  $Text=preg_replace("/\[small\](.+?)\[\/small\]/is","<small>\\1</small>",$Text); 
  $Text=preg_replace("/\[url\](http:\/\/.+?)\[\/url\]/is","<a  href=\\1>\\1</a>",$Text);
  $Text=preg_replace("/\[url\](.+?)\[\/url\]/is","<a  href=\'http://\\1\'>http://\\1</a>",$Text);
  $Text=preg_replace("/\[url=(http:\/\/.+?)\](.*)\[\/url\]/is","<a  href=\\1>\\2</a>",$Text);
  $Text=preg_replace("/\[url=(.+?)\](.*)\[\/url\]/is","<a  href=http://\\1>\\2</a>",$Text);
  $Text=preg_replace("/\[img\](.+?)\[\/img\]/is","<img  src=\\1  border=0>",$Text);
  $Text=preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/is","<font  color=\\1>\\2</font>",$Text);
  $Text=preg_replace("/\[size=(.+?)\](.+?)\[\/size\]/is","<font  size=\\1>\\2</font>",$Text);
  $Text=preg_replace("/\[sup\](.+?)\[\/sup\]/is","<sup>\\1</sup>",$Text);
  $Text=preg_replace("/\[sub\](.+?)\[\/sub\]/is","<sub>\\1</sub>",$Text);
  $Text=preg_replace("/\[pre\](.+?)\[\/pre\]/is","<pre>\\1</pre>",$Text);
  $Text=preg_replace("/\[email\](.+?)\[\/email\]/is","<a  href=mailto:\\1>\\1</a>",$Text);
  $Text=preg_replace("/\[i\](.+?)\[\/i\]/is","<i>\\1</i>",$Text);
  $Text=preg_replace("/\[b\](.+?)\[\/b\]/is","<b>\\1</b>",$Text);
  $Text=preg_replace("/\[quote\](.+?)\[\/quote\]/is","<blockquote><font  size='1'  face='Courier  New'>quote:</font><hr>\\1<hr></blockquote>",  $Text);
  $pattern = "/(\[uploadimage\])(\d+),(.*)(\[\/uploadimage\])/U";
  $replacement = "<img src=\"\$3\" \>";
  $Text =@preg_replace($pattern, $replacement, $Text);
  $str  = $Text;
  $pattern='#\[flash=(\d+),(\d+)\](.+)\[/flash\]#';
  $last = "<center><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width=\"$2\" height=\"291\">
  <param name=\"movie\" value=\"$3\" /><param name=\"quality\" value=\"high\" /><embed src=\"$3\" quality=\"high\"  pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"
  width=\"$2\" height=\"$1\"></embed></object><br>
  <a href=\"$3\" >[全屏欣赏 提醒:Flash中可能包含不安全内容]</a>
  </center>";
  $Text= preg_replace($pattern, $last, $str); 
  $mpg ="<center>   
  <object align=\"middle\" classid=\"clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95\" class=\"object\" id=\"mediaplayer\" width=\"$2\" height=\"290\">
  <param name=\"showstatusbar\" value=\"-1\" />
  <param name=\"filename\" value=\"$3\" />
  <embed type=\"application/x-oleobject\" codebase=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701\" filename=\"hong\" src=\"$3\" width=\"$2\" height=\"$1\">
  </embed>
  </object>
  </center>";
  $Text =preg_replace('#\[mp=(\d+),(\d+)\](.+)\[/mp\]#', $mpg, $Text);     
  return @iconv('utf-8','gbk',@iconv('gbk','utf-8',$Text));
     
  }

<html>
<head>
<script language="javascript">
function createXMLHttp(){
    if(window.ActiveXObject){
        return new ActiveXObject("Microsoft.XMLHttp");
    }
    else if(window.XMLHttpRequest){
        return new XMLHttpRequest();
    }
}

function Pager(){
    var that=this;

    this.link=function(url){
        that.xmlHttp = createXMLHttp();
        that.xmlHttp.onreadystatechange = that.receive;
        that.xmlHttp.open("GET", url, true);
        that.xmlHttp.send(null);
    }

    this.receive=function(){
        if((that.xmlHttp.readyState == 4)){
            if(that.xmlHttp.status == 200){
                that.reaction(that.xmlHttp.responseXML);
            }else{
                that.recover();
            }
        }
    }
}
</script>
</head>
<body>
<div id='page_content'></div>
<div id='page_bar'></div>
<script language="javascript">
var a = new Pager();
var pages = 0;

a.recover = function (){
    go = function (u){
        go = function (){
        };
        a.link(u);
    };
};

a.reaction = function (xml){
    document.getElementById('page_content').innerHTML = xml.getElementsByTagName('content')[0].childNodes[0].nodeValue;

    if(xml.getElementsByTagName('count')[0].childNodes[0].nodeValue != pages){
        s = '<table><tr>';
        for(i = 1; i <= xml.getElementsByTagName('count')[0].childNodes[0].nodeValue; i++)
        {
            if(i == xml.getElementsByTagName('current')[0].childNodes[0].nodeValue)
                s += '<td><b>' + i + '</b></td>';
            else
                s += '<td><a href="javascript:go(\'page.php?page=' + i + '\')">' + i + '</a></td>';
        }
        s += '</tr></table>';
   
        document.getElementById('page_bar').innerHTML = s;
    }

    a.recover();
}


a.link('page.php');
</script>
</body>
</html>

 page.php代码.

<?php
class class_page
{
    private $record_count, $perpage;
    private $page_count, $page_current;
   
    function __construct($perpage, $record_count, $page_current)
    {
        $this->perpage = $perpage;
        $this->record_count = $record_count;
        $this->page_count = ($record_count == 0) ? 1 : ceil($record_count / $perpage);
        $this->page_current = ($page_current > $this->page_count) ? 1 : $page_current;
    }

    function __get($name)
    {
        switch($name)
        {
        case 'page_count':
            return $this->page_count;
        case 'page_current':
            return $this->page_current;
        case 'record_start':
            return ($this->page_current - 1) * $this->perpage;
        }
    }
}

header('Content-Type: text/xml; charset=gbk');
$page = new class_page(20, 150, is_numeric($_GET['page']) ? $_GET['page'] : 1);
echo '<?xml version="1.0"?>';
echo '<page>';
echo '<count>' . $page->page_count . '</count>';
echo '<current>' . $page->page_current . '</current>';
echo '<content>' . pow($page->page_current, 2) . '</content>';
echo '</page>';
?>

创建文件夹

 代码如下 复制代码

function Createfolder($path,$nname){
 if(is_dir($path) && is_writable($path)){

 if(preg_match("/^\w{1,255}$/i",$nname)){
   echo mkdir($path."/".$nname,0777)?'Create Folder success':'Create Folder Fail';
  }else{
   echo "Folder Error";
  }

 }else{
  echo "Can't Create Error file not is_writable or not dir"; }

}

粘贴文件

function Past($currentpath,$currentfilename,$filepote){ //1:文件要被粘贴到的位置2:当前文件{夹}名3:文件{夹}所在的物理地址  

 


 


  $str = substr($currentfilename,-1,1);


  


  if(substr($currentfilename,-1,1)=="|"){


   www.111cn.net


   $currentfilename = str_replace("|","",$currentfilename);


   


   $filepote   = str_replace("|","",$filepote);


  }www.111cn.net


 


  if(is_dir($currentpath) && is_writable($currentpath) && is_dir($filepote) && is_writable($filepote)){

www.111cn.net  


   //@mkdir($currentpath."/".$currentfilename);
   $t=full_copy($filepote,$currentpath."/".$currentfilename)?'t':'f';//$filepote,need copy folder $current sava folder

 

www.111cn.net  


  }else if(is_file($filepote) && file_exists($filepote)){   


   if(file_exists($currentpath.$currentfilename)){ echo ('file exists! plase rename it!');exit;}


   


    echo copy($filepote,$currentpath.$currentfilename)?'success':'errror';  

www.111cn.net
  


}


  if( $str =="|" && $t='t' ){ 


  


   deldir($filepote);

www.111cn.net
  


  }


}

 

 

原创文章:转载请注明www.111cn.net

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • Windows批量搜索并复制/剪切文件的批处理程序实例

    这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)

    批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。这篇文章主要介绍了BAT批处理判断服务是否正常运行(批处理命令综合应用),需要的朋友可以参考下...2020-06-30
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06