不忘初心,不负韶华,砥砺前行!
Pages: 1/2 First page 1 2 Next page Final page [ View by Articles | List ]
Feb 28
字符串加入斜线:AddSlashes

二进位转成十六进位:bin2hex

去除连续空白:Chop

返回序数值的字符:Chr
Feb 27
1、定义与调用
2、在函数间传递参数
   A、按值传递方式
   B、按引用传递方式
   C、默认参数(可选参数)
EXP:
<?PHP
function values($price,$tax=""){
$price=$price+($price*$tax);
echo"价格:$price<br>";
}
values(100,0.25);
values(100);
?>
3、从函数中返回值
EXP:
<?php
function values($price,$tax=0.45){
$price=$price+($price*$tax);
return $price;
}
echo values(100);
?>
4、变量函数
<?PHP
function come(){
echo"来了";
}
function go($name="jack"){
echo"$name走了";
}
function back($string){
echo"又回来了,$string";
}
$func="come";
$func();
$func="go";
$func("Tom");
$func="back";
$func("Lily");
?>
输出:
来了
Tom走了
有回来了,Lily

5、对函数的引用,在函数前加&
EXP:
<?php
function &example($temp=0){ //在函数前加&
return $tmp;
}
$str=&example("看到了");
echo $str."<p>";
?>

6、取消引用unset函数
<?php
$num=1234;
$math=&$num;
echo "\$math is:".$math."<br>";
unset($math);
echo "\$math is:".$math."<br>";
echo "\$num is:".$num;
?>
输出:
$math is :1234
$math is:
$num is:1234
May 31
2010年最新PHP类的精缩归纳
Apr 16
常用php函数集合

文件读取函式
//文件读取函式
function PHP_Read($file_name) {
$fd=fopen($file_name,r);
while($bufline=fgets($fd, 4096)){
$buf.=$bufline;
}
fclose($fd);
return $buf;
}
?>

文件写入函式

//文件写入函式
function PHP_Write($file_name,$data,$method="w") {
[email protected]($file_name,$method);
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
?>

静态页面生成函式
//静态页面生成函式
function phptohtm($filefrom,$fileto,$u2u=1){
if($u2u==1){
$data=PHP_Read($filefrom);
}else{
$data=$filefrom;
}
PHP_Write($fileto,$data);
return true;
}
?>

指定条件信息数量检索函式

//指定条件信息数量检索函式
function rec_exist($table,$where){
$query="select count(*) as num from $table ".$where;
$result=mysql_query($query) or die(nerror(1));
$rowcount=mysql_fetch_array($result);
$num=$rowcount["num"];
if ($num==0){
return false;
}
return $num;
}
?>
目录删除函式
//目录删除函式
function del_DIR($directory){
$mydir=dir($directory);
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
del_DIR("$directory/$file");
}else{
if(($file!=".") AND ($file!="..")){
unlink("$directory/$file");
//echo "unlink $directory/$file ok
";
}
}
}
$mydir->close();
rmdir($directory);
//echo "rmdir $directory ok
";
}
?>

目录名称合法性检测函式

//目录名称合法性检测
function isen($str){
$ret="";
for($i=0;$i $p=ord(substr($str,$i,1));
if(($p<48 & $p!=45 & $p!=46) || ($p>57 & $p<65) || ($p>90 & $p<97 & $p!=95) || $p>122){
nerror("不符合规范!");
}
$ret.=chr($p);
}
return $ret;
}
?>
分页函式

//分页函式
function splitlist($HALT,$LRLIST,$ECHOCNT,$paper,$table,$where,$page_id,$userid){
global $splitstr,$sumcnt;
if($paper=="" || $sumcnt==""){
$query = "select count(*) as num from $table $where";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$sumcnt=$row["num"];
if($sumcnt==0){
nerror("该版内还没有选择发布新闻 !");
}
$paper=1;
}
$sumpaper=($sumcnt-$sumcnt%$ECHOCNT)/$ECHOCNT;
if(($sumcnt%$ECHOCNT)!=0) $sumpaper+=1;
if($sumpaper==1 && $HALT==0) return($where);
$enwhere=base64_encode(base64_encode($where));
if(($LRLIST*2+1) < $sumpaper){
if(($paper-$LRLIST) < 2){
$tract=1;
$sub=$LRLIST*2+1;
}else if(($paper+$LRLIST) >= $sumpaper){
$tract=$sumpaper-($LRLIST*2);
$sub=$sumpaper;
}else{
$tract=$paper-$LRLIST;
$sub=$paper+$LRLIST;
}
}else{
$tract=1;
$sub=$sumpaper;
}
$uppaper=$paper-1;
$downpaper=$paper+1;
$startcnt=($paper-1)*$ECHOCNT;
$where.=" limit ${ startcnt },${ ECHOCNT }";
if($tract > 1) { $splitstr="【 << "; }
else $splitstr="【 << ";
for($i=$tract;$i<=$sub;$i++){
if ($i!=$paper) $splitstr.="".$i." ";
else $splitstr.="".$i." ";
}
if ($sub!=$sumpaper) $splitstr.=">> 】";
else $splitstr.=">> 】";
return($where);
}
?>

关于分页函式的使用说明


/*
#### 检索分页函式 ####
Int $HALT - 检索结果仅分1页时是否(1/0)显示页码条
Int $LRLIST - (页码条显示页码数-1)/2
Int $ECHOCNT - 检索时每页显示记录的数量
Int $paper - 页数,预提取:$paper=$HTTP_GET_VARS[paper];
Varchar $table - 数据表名,预附值:$table="db.table";
Varchar $where - 检索条件,预附值:$where="where field='value'";

Varchar $enwhere - 将原$where进行两次base64_encode()编码后以GET的方式提交
Varchar $splitstr - 页码条输出字串,执行函式后在相应的位置执行 echo $splitstr;

函式调用前需获取变量 -
$paper=$HTTP_GET_VARS[paper];
$sumcnt=$HTTP_GET_VARS[sumcnt];
$enwhere=$HTTP_GET_VARS[enwhere];

Return (Varchar $where) - 分页后检索语句的检索条件
注意:本函式需调用出错处理函式 nerror($error);
*/
?>



图片文件上传函式

//图片文件上传函式
function upload_img($UploadFile,$UploadFile_name,$UploadFile_size,$UploadPath,$max_size=64){

//$TimeLimit=60; //设置超时限制时间 缺省时间为 30秒 设置为0时为不限时
//set_time_limit($TimeLimit);
if(($UploadFile!= "none" )&&($UploadFile != "" )){
$FileName=$UploadPath.$UploadFile_name;
if($UploadFile_size <1024){
$FileSize="(string)$UploadFile_size" . "字节";
}elseif($UploadFile_size <(1024 * $max_size)){
$FileSize=number_format((double)($UploadFile_size / 1024), 1) . " KB";
}else{
nerror("文件超过限制大小!");
}
//{
//$FileSize="number_format((double)($UploadFile_size" / (1024 * 1024)), 1) . " MB";
// }
if(!file_exists($FileName)){
if(copy($UploadFile,$FileName)){
return "$UploadFile_name ($FileSize)";
}else{
nerror("文件 $UploadFile_name 上载失败!");
}
unlink($UploadFile);
}else{
nerror("文件 $UploadFile_name 已经存在!");
}
//set_time_limit(30); //恢复缺省超时设置
}
}
?>



Jan 24
21个PHP函数function.doc下载
PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点。这里收集了 21 段实用便捷的 PHP 代码摘录,对每种类型的 PHP 开发者都会有所帮助。
Aug 10

<?php
class DB{
  var $db_host;
  var $db_user;
  var $db_password;
  var $db_database;
  var $result;
  var $conn;
  var $sql;//便于调试
  var $row;
  //构造空函数
  function DB($db_host,$db_user,$db_password,$db_database){
    $this->db_host = $db_host;
    $this->db_user = $db_user;
    $this->db_password = $db_password;
    $this->db_database = $db_database;
  }
  //连接数据库
  function conn(){
    $conn = mysql_connect($this->db_host,$this->db_user,$this->db_password);
    if(!$conn){
      $this->msg_error("无法连接数据库");
    }else{
      $this->conn = $conn;
    }
    if(!mysql_select_db($this->db_database,$this->conn)){
     $this->msg_error("无法选择数据库");
    }
    return $this->conn;
  }
  //更新数据库,包括数据添加,更新
  function query_noResult($sql){
    if("" == $sql){$this->msg_error("传递了一个空变量");}
    $this->sql = $sql;
    //echo $this->sql;
    //echo $this->conn;
    if(!mysql_db_query($this->db_database,$this->sql,$this->conn)){
     $this->msg_error(("数据更新过程发生错误!"));
    }
    return null;
  }
  //查询数据并返回result类型
  function query_withResult($sql){
    if("" == $sql){$this->msg_error("传递了一个空变量");}
    $this->sql = $sql;
    // $conn = mysql_connect("localhost","root","");
    $result = mysql_db_query($this->db_database,$this->sql,$this->conn);  
    //一个字母错误浪费了两个小时!真不如java
    //不过是写成了reslut
    
    if(!$result){
      $this->msg_error("数据查询过程发生错误或空记录!");
    }else{
      $this->result = $result;
    }
    //使用时,可以直接引用成员变量而无须关心返回值,除非需要返回值
    //做更多处理
    return $this->result;
  }
  //释放结果集
  function free(){
    mysql_free_result($this->result);
  }
  //关闭连接
  function close(){
    if($this->result){
      $this->free();
    }
    mysql_close($this->conn);
  }
  // 根据执行结果取得影响行数
  function db_affected_rows(){
    return mysql_affected_rows();
  }
  // 根据查询结果计算结果集条数
  function db_num_rows(){
    if($this->result==null){
      $this->msg_error("记录为空!");
    }
    return mysql_num_rows($this->result);
  }
  //取得记录集  
  function db_fetch_array(){
    if($this->result==null){
      //$this->msg_error("您查询的记录为空!");
    }
    $this->row = @mysql_fetch_array($this->result);
    return $this->row;
  }
  //指向确定的一条数据记录
  //通用数据库错误处理
  function db_data_seek($result,$i){
    mysql_data_seek($result,$i);
    return $this->result;
  }
  function msg_error($message){
    $time  = date("Y年m月d日 H时i分s秒");
    echo "很抱歉您操作数据库时发生了错误<br>";
    echo "发生错误时间:".$time."<br>";
    echo "错误信息:".$message."<br>";
    echo "请发送邮件到<a href=mailto:[email protected]>[email protected]</a>..谢谢!";
    // exit();
}
}
?>


具体使用:
<?php
class Process extends DB{
    var $sql;
    var $db;
    var $random;
    function Process($db){
        $this->sql="";
        $this->db=$db;
    }
    //取得最新记录,可以更改sql语句得到完全控制
    function fetch_new_all(){
        $k=$this->random=Rand(4,10);
        $f=$this->random-4;
        $this->sql="select * from  xl_news order by id desc limit ".$f.",".$k."";
        $result=$this->db->query_withResult($this->sql);
        $number=$this->db->db_num_rows();

        for($i=0;$i<$number;$i++){
            $row=mysql_fetch_array($result);
            $data[]=$row;
        }
        return $data;
    }
    //取得公告栏的数据并显示
    function show_gonggao(){
        $this->sql="select * from xl_gongao";
        $result=$this->db->query_withResult($this->sql);
        $row=mysql_fetch_array($result);
        echo "最新更新:";
        echo $row['date'];
        echo "<br>";
        echo $row['context'];
    }
    //提交咨询内容
    function add_advisory($name,$sex,$age,$text){
        $_name=$name;
        $_sex=$sex;
        $_age=$age;
        $_text=$text;
        $_date=date("Y-m-d H:i:s");
        $this->sql="insert into xl_zixun(name,sex,age,context,date) values('$_name','$_sex','$_age','$_text','$_date')";
        $this->db->query_noResult($this->sql);
    }
}
?>
Jun 23
以前没学过PHP,最近刚好一个项目需要用到,我就决定一边学一边做PHP.

  1 在SQL语句中可通过添加限制条件:left(text,20)只取text文本的前20个字;

  2 可以用limit fromRecord, RecordNum 来作为分页使用,比如limit 0,30表示从第一个记录开始遍历30个纪录;

  3 两个表的连接可以是:table1 join table2 using x(x为两个表的公共字段),或者是table1 join table2 on table1.x = table2.x

  4 p
Jun 23
Abs: 取得绝对值。
Acos: 取得反余弦值。
ada_afetch: 取得资料库的传回列。
ada_autocommit: 开关自动更动功能。
ada_close: 关闭 Adabas D 连结。
ada_commit: 更动 Adabas D 资料库。
ada_connect: 连结至 Adabas D 资料库。
ada_exec: 执行 SQL 指令。
ada_fetchrow: 取得传回一列。
ada_fieldname: 取得栏位名称。
ada_fieldtype: 取得栏位资料形
Pages: 1/2 First page 1 2 Next page Final page [ View by Articles | List ]