当前位置:  编程技术>php
本页文章导读:
    ▪php crypt函数加密和解密的实例分享      php crypt函数加密与解密,代码如下: <?php // +----------------------- // | Wiki Framework | // +----------------------- // $string 明文 或 密文 必填 // $isEncrypt 是否加密 可选,默认为加密 // $key 密匙 可.........
    ▪PHPDocument 代码注释的规范写法总结      本节分享下phpDocument进行代码注释的规范写法。 1,安装phpDocumentor(不推荐命令行安装) 在http://manual.phpdoc.org/下载最新版本的PhpDoc 放在web服务器目录下使得通过浏览器可以访问到。 点击fil.........
    ▪php字符截取中文防乱码用.chr(0)解决的方法      方法1,代码:   代码示例: <?php $len = 19; $text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";    echo strlen($text)<=$len ? $text : (substr($text,0,$len).chr(0)."....");    ?.........

[1]php crypt函数加密和解密的实例分享
    来源: 互联网  发布时间: 2013-12-24

php crypt函数加密与解密,代码如下:

<?php
// +-----------------------
// | Wiki Framework |
// +-----------------------
// $string 明文 或 密文 必填
// $isEncrypt 是否加密 可选,默认为加密
// $key 密匙 可选,默认为空格
// $b = dencrypt($a,TRUE,'123');  
// $c = dencrypt($b,false,'123'); 
// 采用SHA1生成密匙簿,超过300个字符使用ZLIB压缩
//by www.
function dencrypt($string, $isEncrypt = true, $key = KEY_SPACE) {
  if (!isset($string{0}) || !isset($key{0})) {
        return false;
    }
    $dynKey = $isEncrypt ? hash('sha1', microtime(true)) : substr($string, 0, 40);
    $fixedKey = hash('sha1', $key);
    $dynKeyPart1 = substr($dynKey, 0, 20);
    $dynKeyPart2 = substr($dynKey, 20);
    $fixedKeyPart1 = substr($fixedKey, 0, 20);
    $fixedKeyPart2 = substr($fixedKey, 20);
    $key = hash('sha1', $dynKeyPart1 . $fixedKeyPart1 . $dynKeyPart2 . $fixedKeyPart2);
    $string = $isEncrypt ? $fixedKeyPart1 . $string . $dynKeyPart2 : (isset($string{339}) ? 
gzuncompress(base64_decode(substr($string, 40))) : base64_decode(substr($string, 40)));
    $n = 0;
    $result = '';
    $len = strlen($string);
    for ($n = 0; $n < $len; $n++) {
        $result .= chr(ord($string{$n}) ^ ord($key{$n % 40}));
    }
    return $isEncrypt ? $dynKey . str_replace('=', '', base64_encode($n > 299 ? gzcompress($result) : $result)) :
 substr($result, 20, -20);
}
?>

    
[2]PHPDocument 代码注释的规范写法总结
    来源: 互联网  发布时间: 2013-12-24

本节分享下phpDocument进行代码注释的规范写法。

1,安装phpDocumentor(不推荐命令行安装)
在http://manual.phpdoc.org/下载最新版本的PhpDoc
放在web服务器目录下使得通过浏览器可以访问到。
点击files按钮,选择要处理的php文件或文件夹。
还可以通过该指定该界面下的Files to ignore来忽略对某些文件的处理。
然后点击output按钮来选择生成文档的存放路径和格式.
最后点击create,phpdocumentor就会自动开始生成文档了。

2,如何写PHP规范注释
所有的文档标记都是在每一行的 * 后面以@开头。如果在一段话的中间出来@的标记,这个标记将会被当做普通内容而被忽略掉。
 

@access        该标记用于指明关键字的存取权限:private、public或proteced 使用范围:class,function,var,define,module
@author        指明作者
@copyright    指明版权信息
@const        使用范围:define 用来指明php中define的常量
@final            使用范围:class,function,var 指明关键字是一个最终的类、方法、属性,禁止派生、修改。
@global        指明在此函数中引用的全局变量
@name            为关键字指定一个别名。
@package    用于逻辑上将一个或几个关键字分到一组。
@abstrcut    说明当前类是一个抽象类
@param        指明一个函数的参数
@return        指明一个方法或函数的返回值
@static            指明关建字是静态的。
@var            指明变量类型
@version        指明版本信息
@todo            指明应该改进或没有实现的地方
@link            可以通过link指到文档中的任何一个关键字
@ingore        用于在文档中忽略指定的关键字

一些注释规范
 

a.注释必须是
/**
* XXXXXXX
*/
的形式
b.对于引用了全局变量的函数,必须使用glboal标记。
c.对于变量,必须用var标记其类型(int,string,bool...)
d.函数必须通过param和return标记指明其参数和返回值
e.对于出现两次或两次以上的关键字,要通过ingore忽略掉多余的,只保留一个即可
f.调用了其他函数或类的地方,要使用link或其他标记链接到相应的部分,便于文档的阅读。
g.必要的地方使用非文档性注释(PHPDOC无法识别的关键字前的注释),提高代码易读性。
h.描述性内容尽量简明扼要,尽可能使用短语而非句子。
i.全局变量,静态变量和常量必须用相应标记说明

能够被phpdoc识别的关键字:
Include
Require
include_once
require_once
define
function
global
class

3,规范注释的php代码参考:
 

代码示例:

<?php
/**
* 文件名(sample2.php)
* by www.
* 功能描述(略)
* @package sample2
*/

/**
* 包含文件
*/
include_once 'sample3.php';

/**
* 声明全局变量
* @global integer $GLOBALS['_myvar']
* @name $_myvar
*/
$GLOBALS['_myvar'] = 6;

/**
* 声明全局常量
*/
define('NUM', 6);

/**
* 类名
*
* 类功能描述
*
* @package sample2
* @subpackage classes(如果是父类 就添加)
*/
class myclass {

/**
* 声明普通变量
*
* @accessprivate
* @var integer|string
*/
var $firstvar = 6;

/**
* 创建构造函数 {@link $firstvar}
*/
function myclass() {
$this->firstvar = 7;
}

/**
* 定义函数
*
* 函数功能描述
*
* @global string $_myvar
* @staticvar integer $staticvar
* @param string $param1
* @param string $param2
* @return integer|string
*/
function firstFunc($param1, $param2 = 'optional') {
static $staticvar = 7;
global $_myvar;
return $staticvar;
}
}
?>


    
[3]php字符截取中文防乱码用.chr(0)解决的方法
    来源: 互联网  发布时间: 2013-12-24

方法1,代码:
 

代码示例:
<?php
$len = 19;
$text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";   
echo strlen($text)<=$len ? $text : (substr($text,0,$len).chr(0)."....");   
?>  

chr(0)不是null
null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000
虽然chr(0)不会显示出什么,但是他是一个字符。
当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空”
根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了。

注:
编码 第一字节 第二字节
gb2312 0xa1-0xf7 0xa1-0xfe
gbk 0x81-0xfe 0x81-0xfe 0x40-0x7e
big5 0xa1-0xf7 0x81-0xfe 0x40-0x7e

方法2,代码:
 

代码示例:
<?php
function csubstr($text, $limit) {   
    $s = ';
    for($i=0;$i< $limit-3;$i++) {
        $s .= ord($text[$i])>127 ? $text[$i].$text[++$i] : $text[$i];
}
    return $s;
}

以上仅适用于 gb2312 编码,如果是UTF-8 的话需要把第4行改为:
$s .= ord($text[$i])>127 ? $text[$i].$text[++$i].$text[++$i] : $text[$i];  
注意:UTF-8 中的汉字是 3 个字节。


    
最新技术文章:
▪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