当前位置:  编程技术>php
本页文章导读:
    ▪PHP数字格式化       例如,echo number_format(285266237);   可以输出 285,266,237   另外如果需要格式化文件字节大小,下面的方法可以借鉴:    function byte_format($input, $dec=0)    {      $prefix_arr = array(' B', 'K.........
    ▪用缓存实现静态页面的测试       <?php  function CreateShtml()  {  ob_start(array("callback_CreateShtml","callback_GoToShtml"));  }  function callback_CreateShtml($buffer)[  {  $page = intval(@$_REQUEST["page"]);  $fileName = $_SERVER['DOCUMENT_ROOT'] . dirname($.........
    ▪一些PHP写的小东西       一些小东西有时候可能用得上!  1.得到客户端IP地址  function getip(){         if (! empty($_SERVER["HTTP_X_FORWARDED_FOR"])){ //使用代理的情况                 $tip = split(",", $_SERVER["HTTP_.........

[1]PHP数字格式化
    来源: 互联网  发布时间: 2013-11-30
例如,echo number_format(285266237);  

可以输出 285,266,237  

另外如果需要格式化文件字节大小,下面的方法可以借鉴:  

 function byte_format($input, $dec=0)  
 {   
  $prefix_arr = array(' B', 'K', 'M', 'G', 'T');  
  $value = round($input, $dec);  
  $i=0;  
  while ($value>1024)  
  {   
   $value /= 1024;  
   $i++;  
  }  
  $return_str = round($value, $dec).$prefix_arr[$i];  
  return $return_str;  
 }  

 echo byte_format(285266237);  
显示结果为 272M  

例如,echo number_format(285266237);  
可以输出 285,266,237  
另外如果需要格式化文件字节大小,下面的方法可以借鉴:  
 function byte_format($input, $dec=0)  
 {   
  $prefix_arr = array(' B', 'K', 'M', 'G', 'T');  
  $value = round($input, $dec);  
  $i=0;  
  while ($value>1024)  
  {   
   $value /= 1024;  
   $i++;  
  }  
  $return_str = round($value, $dec).$prefix_arr[$i];  
  return $return_str;  
 }  

 echo byte_format

    
[2]用缓存实现静态页面的测试
    来源: 互联网  发布时间: 2013-11-30
<?php 
function CreateShtml() 



ob_start(array("callback_CreateShtml","callback_GoToShtml")); 



function callback_CreateShtml($buffer)[ 



$page = intval(@$_REQUEST["page"]); 

$fileName = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm"; 

$fp = fopen($fileName,"wb"); 

fwrite($fp,$buffer); 

fclose($fp); 

return $buffer; 



function callback_GoToShtml($buffer) 



$page = intval(@$_REQUEST["page"]); 

$fileName = basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm"; 

header("location:" . $fileName); 

return $buffer; 



function GoToShtml() 



$page = intval(@$_REQUEST["page"]); 

$fileName = basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm"; 

if(file_exists($fileName)) 

header("location:" . $fileName); 



function DeleteShtml($fileName=NULL) 



if(is_null($fileName)) 

$fileName = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF']; 

if($fileName[0]=="/") 

$fileName = $_SERVER['DOCUMENT_ROOT'] . $fileName; 

$path = dirname($fileName); 

$dir = dir($path); 

$patten = "/^" . basename($fileName, ".php") . "(_[0-9]+)?.htm/"; 

while(($entry = $dir->read())!==false) 



if(is_file($path . "/" .$entry) && preg_match($patten,$entry)) 

unlink ($path . "/" . $entry); 






CreateShtml(); 
echo "这是静态生成的页面!$page"; 
GoToShtml(); 
DeleteShtml(); 
?>


    
[3]一些PHP写的小东西
    来源: 互联网  发布时间: 2013-11-30
一些小东西有时候可能用得上! 


1.得到客户端IP地址 


function getip(){ 
       if (! empty($_SERVER["HTTP_X_FORWARDED_FOR"])){ //使用代理的情况 
               $tip = split(",", $_SERVER["HTTP_X_FORWARDED_FOR"]); 
               $cip = $tip[0]; 
       } 
       else 
               $cip = $_SERVER["REMOTE_ADDR"];[ 
       return dechex(ip2long($cip)); 



2.session控制的函数 


function session_begin(){ 
       global $userid, $sid, $ip, $session, $db, $islogin; 
       $ip = getip(); 
       /* 短期而言,系统默认需要支持cookie. */ 
       if (!isset($_COOKIE['userid'])) return false; 
       else $userid = $_COOKIE['userid']; 
       if (!isset($_COOKIE['sid'])) return false; 
       else $sid = $_COOKIE['sid']; 
       /* 以上返回false意味着用户没有登陆,页面将跳转至首页(登陆页). */ 

       $query = "SELECT * FROM user WHERE nickname = '$userid'"; 
       $result = $db->sql_query($query); 
       if ($row = $db->sql_fetchrow($result)){ 
               if ($row['sid'] != $sid) return false; /* cookie传送的sid和数据库保存的不吻合 */ 
               if ($row['lastloginip'] != $ip) return false; /* IP不吻合 */ 
               /* 是否要考虑 session的过期 问题呢? */ 
       } 
       else return false; /* 没有这个userid */ 
       $session = $row; 
//        $session[''] = $row['']; 
       unset($row); 

       $islogin = true; 
       return true; 


/* bool session_end(int $userid, string $sid) */ 
function sesssion_end($userid, $sid){ 
       return true; 



3.做选美的投票程序 


<?php 
header("Refresh:0;url=./");  //一秒刷新 
?> 
<script>alert('<?php 
require_once('mysql.php'); 
require_once('functions.php'); 
$db = new sql_db('localhost','root','','selectmm'); 
$user_id = $_GET['user_id']; 
$ip = getip(); 
$deltime = time()-3600;  //减去一小时 
$sql = "delete from vote where time <$deltime"; //删除掉过期的数据 
$db->sql_query($sql); 

$sql = "select ip from vote where ip='$ip' and user_id='$user_id'"; //查看一小时内是否投过 
$linkid=$db->sql_query($sql) or die(mysql_error()); 
$count=$db->sql_affectedrows(); 
if($count) 

echo "您已经投过票了!"; 

else 

$sql = "update user set vote_count=vote_count+1 WHERE user_id='$user_id'"; 
$db->sql_query($sql); 
$count=$db->sql_affectedrows(); 
if($count) 

 echo "投票成功!"; 
    $sql = "insert into vote (`ip`,`user_id`,`time`) values ('$ip','$user_id','".time()."')";//投票成功就插入一条记录。 
    $db->sql_query($sql); 


else 

 echo "投票失败!"; 



?>'); 
//history.back(); 
</script> 


4.smarty的搜索程序 


<?php 
require_once('mysql.php'); 
$db = new sql_db('localhost','root','','selectmm'); 
require_once('functions.php'); 
require_once('session.php'); 
session_begin(); 
require('./Libs/Smarty.class.php'); 
$smarty = new Smarty; 
$title = "首页"; 
$smarty->assign("islogin",$islogin); 
$smarty->assign("title",$title); 
$age=$_GET['age']; 
$arr=explode(',',$age); 
$y=date('Y'); 
$md=date('-m-d'); 
$begin=($y-$arr[1]).$md; 
$end=($y-$arr[0]).$md; 
$sql="select p.* from pic_info p,user u where p.user_id=u.user_id and u.birthday between '$begin' and '$end' group by u.user_id"; 
$link=$db->sql_query($sql) or die(mysql_error()); 
$row = $db->sql_fetchrowset($link); 
$db->sql_freeresult(); 
$smarty->assign("pic",$row); 
$smarty->display('index.tpl.htm'); 
?> 


5.注册程序 


<? 
require('mysql.php'); 
$str=new sql_db('localhost','root','','selectmm'); 
$METHOD = $_POST; 
   if (isset($METHOD['nickname']) && $METHOD['nickname'] != '') $nickname = $METHOD['nickname']; 
  else { echo "<script>alert("用户昵称不能为空.")</script>"; echo "<script>location="register.php"</script>"; } 
   if (isset($METHOD['password']) && strlen($METHOD['password'])>=6) $password = $METHOD['password']; 
  else { echo "<script>alert("密码至少6位")</script>"; echo "<a href='javascript:history.go(-2);'>"; } 
   $password2 = $METHOD['password2']; 
   if ($password != $password2) 
  { echo "<script>alert("两次输入密码不一致")</script>"; echo "<script>location="register.php"</script>"; } 
   if (isset($METHOD['name']) && $METHOD['name'] != '') $name = $METHOD['name']; 
  else { echo "<script>alert("用户名不能为空.")</script>"; echo "<script>location="register.php"</script>"; } 
    $birthday=$METHOD['Year'].$METHOD['Month'].$METHOD['Day']; 
    $stature = $METHOD['stature']; 
    $astrology = $METHOD['astrology']; 
    $bloodtype = $METHOD['bloodtype']; 
    $goodat = $METHOD['goodat']; 
    $work = $METHOD['work']; 
    $educate = $METHOD['educate']; 
    $homeplace = $METHOD['homeplace']; 
    $address = $METHOD['address']; 
    $tel = $METHOD['tel']; 
    $qq = $METHOD['qq']; 
   if (isset($METHOD['email']) && $METHOD['email'] != '') $email = $METHOD['email']; 
  else { echo "<script>alert("Email不能为空")</script>"; echo "<script>location="register.php"</script>"; } 
   if (!eregi("^[0-9a-z.-_]+@[0-9a-z.]+.[a-z]$",$email)) { echo "<script>alert("电子邮件格式不合法")</script>"; echo "<script>location="register.php"</script>"; } 
     $dian =$METHOD['dian']; 
   if (isset($METHOD['myself']) && $METHOD['myself'] != '') $myself = $METHOD['myself']; 
  else { echo "<script>alert("用.....不能为空")</script>"; echo "<script>location="register.php"</script>"; } 
   if(isset($METHOD['enounce'])&& $METHOD['enounce']!='')$enounce = $METHOD['enounce']; 
   else { echo "<script>alert(".....不能为空")</script>"; echo "<script>location="register.php"</script>"; } 


   $query = "SELECT * FROM user WHERE nickname ='$nickname' or email='$email'"; 
   $result = $str->sql_query($query)or die(mysql_error()); ; 
   if ($row = $str->sql_fetchrow($result)) 
    { echo "<script>alert("对不起,该用户已经注册")</script>"; echo "<script>location="register.php"</script>"; } 
   $password = md5($password); 
   $query = "INSERT INTO `user` (`nickname`,`password`,`name`,`birthday`,`astrology`,`bloodtype`,`stature`,`goodat`,`work`,`educate`,`homeplace`,`address`,`tel`,`email`,`qq`,`dian`,`myself`,`enounce`) VALUES('$nickname','$password','$name','$birthday','$astrology','$bloodtype','$stature','$goodat','$work','$educate','$homeplace','$address','$tel','$email','$qq','$dian','$myself','$enounce')"; 
if($str->sql_query($query)) 
     $str->sql_close(); 
   echo "<script>alert("恭喜你,注册成功")</script>"; 

   echo "<script>location="login.php"</script>"; 
?> 


6.提交参数 JS控制 


echo "<td><a href='/blog_article/delete/nickname/.html' onclick="return confirm('确定删除吗?rn此操作不可恢复')"><font color=red>删除该用户</font></a></td>"; 


7.在给同事做一个文本处理,两个文档一个有7万条记录,开始用嵌套循环,php死了,后面用数组解决了问题 


<?php 
if(($fp=fopen("1.txt","a+"))===false) 
  { 
          die("打开文件失败"); 
  } 
$data1=file("old.txt") or die("打开文件失败"); 
$data2=file("sports.txt") or die("打开文件失败"); 
foreach($data1 as $data) 

$x = split("[./]",$data); 
$name = $x[count($x)-2]; 
$a[$name]['md5']=$data; 

foreach($data2 as $data) 

$x = split("[,./]",$data); 
$name = $x[count($x)-2]; 
if(isset($a[$name])) 
$a[$name]['name']=$x[0]; 

foreach($a as $value) 

$str=$value['md5'].','.$value['name']; 
fwrite($fp,$str); 
echo $value['md5'].','.$value['name']."<br>"; 
fwrite($fp,$str); 

?> 


8.验证码 


<?php 
/* 
* Filename:authimg.php 
*/ 

Header("Content-type:image/PNG"); 
session_start(); 
$auth_num = ""; 
/*创建一个基于调色板的图像*/ 
$im = imagecreate(63, 20); 
/*初始化一个随机种子*/ 
srand((double)microtime() * 1000000); 
$auth_num_k = md5(rand(0, 9999)); 
$auth_num = substr($auth_num_k, 17, 5); 
/*赋值会话变量*/ 
$_SESSION['authnum'] = $auth_num; 
$black = ImageColorAllocate($im, 0, 0, 0); 
$white = ImageColorAllocate($im, 255, 255, 255); 
$gray = ImageColorAllocate($im, 200, 200, 200); 
ImageFill($im, 63, 20, $black); 
imagestring($im, 5, 10, 3, $auth_num,$gray); 

for ($i = 0;$i < 200;$i++){ 
       $randcolor = ImageColorallocate($im, rand(0,255), rand(0,255), rand(0,255)); 
       imagesetpixel($im, rand()%70, rand()%30, $randcolor); 

ImagePNG($im); 
ImageDestroy($im); 
?>


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3