当前位置:  编程技术>php
本页文章导读:
    ▪用PHP中的 == 运算符进行字符串比较       最近在Greg Beaver's的blog上发表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 运算符在对字符串进行比较时值得注意的问题。  在某些情况下,PHP会把类数值数据(如含.........
    ▪PHP图片上传类带图片显示       这是一个PHP的文件上传类带图片显示的.其实做成函数就可以了.不过还是做成类好玩一点.~~~~ 本来应该用JS来验证上传文件类型的.但懒得做了. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti.........
    ▪整合了前面的PHP数据库连接类~~做成一个分页类!       不知道学PHP有没有前途~哎越写越没劲 <?php  Class createdb    //类的开始  {  var $db= "localhost";//数据库地址;  var $dbname = "root";//用户名;  var $dbpwd = "";//密码;  var $dbtable = "mysql";//.........

[1]用PHP中的 == 运算符进行字符串比较
    来源: 互联网  发布时间: 2013-11-30
最近在Greg Beaver's的blog上发表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 运算符在对字符串进行比较时值得注意的问题。

  在某些情况下,PHP会把类数值数据(如含有数字的字符串等)转换成数值处理,== 运算符就是其中之一。在使用 == 运算符对两个字符串进行松散比较时,PHP会把类数值的字符串转换为数值进行比较,下面的实验证实了这个结论:

<?php
var_dump('01' == 1);
?>

以上代码输出结果为:
bool(true)

  所以,在使用对字符串进行比较时,建议使用 === 运算符对字符串进行严格的检查,或使用strcmp()等函数,从而避免可能产生的问题。PHP手册中的《PHP 类型比较表》对此也有详细说明。

  除此之外,常用的in_array()函数也存在弱类型的问题,见如下代码:

<?php
var_dump(in_array('01', array('1')));
?>

以上代码输出结果为:
bool(true)

  相信用过该函数进行安全性检查的PHP编程人员都知道这会产生怎么样的安全问题了吧?幸好in_array()函数为我们提供了第三个参数,把它设为 true 就可以打开in_array()函数的强制类型检查机制,如下代码所示:

<?php
var_dump(in_array('01', array('1'), true));
?>

输出结果为:
bool(false)

  由于PHP是一种弱类型的语言,也就是说数据类型这个概念在PHP中被弱化。因而如果在编程时过分忽略数据类型(也是大部份PHP程序员的通病),会产生一些问题,甚至导致安全漏洞。最后,还是那句说得很烦很烦的话,对外来数据进行严格检查和过滤。

    
[2]PHP图片上传类带图片显示
    来源: 互联网  发布时间: 2013-11-30
这是一个PHP的文件上传类带图片显示的.其实做成函数就可以了.不过还是做成类好玩一点.~~~~
本来应该用JS来验证上传文件类型的.但懒得做了.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<form id="form1" name="upload" enctype="multipart/form-data" method="post" action="/blog_article/upload.html">
<input type="hidden" name="MAX_FILE_SIZE " />
  <input type="file" name="file" />
  <input type="submit" name="Submit" value="提交" /> 
</form>
</body>
</html>
<?php
 Class upload
 {
  var $upload_name;
  var $upload_tmp_address;
  var $upload_server_name;
  var $upload_filetype ;
  var $file_type;
  var $file_server_address;
  var $image_w=900;  //要显示图片的宽
  var $image_h=350;  //要显示图片的高
  var $upload_file_size;
  var $upload_must_size= 50000; //允许上传文件的大小,自己设置
  function upload_file()
  {
   $this->upload_name = $_FILES["file"]["name"];    //取得上传文件名
   $this->upload_filetype = $_FILES["file"]["type"];
   $this->upload_server_name = date("Y_m_dH_i_s").$this->upload_name;
   $this->upload_tmp_address = $_FILES["file"]["tmp_name"];    //取得临时地址
   $this->file_type = array("image/gif","image/pjpeg");  //允许上传文件的类型
   $this->upload_file_size = $_FILES["file"]["size"];  //上传文件的大小
   if(in_array($this->upload_filetype,$this->file_type))
   { if($this->upload_file_size < $this->upload_must_size)
    {
        echo("上传成功,谢谢支持");
     $this->file_server_address = "D:\usr\www\html\upload/".$this->upload_server_name;
        move_uploaded_file($this->upload_tmp_address,$this->file_server_address);//从TEMP目录移出
        echo("<img src=/blog_article/$this->file_server_address width=$this->image_w height=$this->image_h/>/index.html");  //显示图片

    
     }
     else
     {
      echo("文件容量太大");
     }
   }
   else
   {
    echo("不支持此文件类型,请重新选择");
   }

  } 

 }
 $dd = new upload;
 $dd->upload_file();
?>

    
[3]整合了前面的PHP数据库连接类~~做成一个分页类!
    来源: 互联网  发布时间: 2013-11-30
不知道学PHP有没有前途~哎越写越没劲

<?php
 Class createdb    //类的开始
 {
 var $db= "localhost";//数据库地址;
 var $dbname = "root";//用户名;
 var $dbpwd = "";//密码;
 var $dbtable = "mysql";//使用的数据库
 var $conn;    //数据库连接;
 var $result;    //结果集
 var $mysql;    //执行的mysql
 var $row;     //结果集中找数据
 function createconn()   //这个类方法是开始一个conn连接,然后开始选择数据库
 {
  $this->conn = mysql_connect($this->db,$this->dbname,$this->dbpwd);
   mysql_select_db($this->dbtable,$this->conn);
 }
 function getresule() //这个是得到一个结果集
 {
  $this->result = mysql_query($this->mysql,$this->conn);
 }
 function getrow() //创建一个向前的结果集指针
 {
  $this->row = mysql_fetch_array($this->result);
  return $this->row;
 }
 function closedatabase()
 {
  mysql_close($this->conn);
 }
 }//类结束,开始调用类来读mysql数据库数据.
//调试数据库连接的代码!不需要的.
/* $bb = new createdb;  //类实例化
 $bb->createconn();// 调用类的连接
 $bb->mysql="select * from friends_conf";
 $bb->getresule(); //调用类得到结果集
 while($bb->getrow()){      //调用类创建指针向前读循环读数据,
  echo($bb->row["confname"]);
  echo($bb->row["confvalue"]);
 }*/
?>
//分页类~ 继承了上面的方法
<?php
 Class pagefy extends createdb{
  var $nametatol;    //总的记录数
  var $namemust = 1; //每一页想要显示的记录数
  var $pageall;  
  var $i = 1;
  var $m ;
  var $p = 8;  //需要显示的页码;
  var $a;
  function gettatol()   //取总的记录数方法
  { //先要连接数据库
   $this->nametatol = $this->row[0];  //总的记录数 
  }
  function getpage()  //取总页数
  {
   $this->pageall = $this->nametatol % $this->namemust;
   if($this->pageall)
   {
    $this->pageall = (int)($this->nametatol / $this->namemust) + 1;
    return  $this->a = $this->pageall ;
   }
   else
   {
    return $this->a = $this->pageall = (int)($this->nametatol / $this->namemust);
   }
  }
  function num_pl()  //页码显示
  { 
   $this->pageall = $this->pageall - ($this->pageall - $this->p);
   while($this->pageall)
   {
    echo("<a href='/blog_article/pagefy/n/$this-/gt;i.html'>$this->i</a>");
    echo("  ");  //想显示什么样式自己加
    $this->i++;
    $this->pageall =$this->pageall -1;
   }
  }
  function get_num_pl()   //取的LIMIT的前一个参数(开始ROW数)
  {
   $this->m = $_GET["n"] * $this->namemust - $this->namemust;
  }
  function showpage()  //显示分页的内容
  {
   $this->createconn();
   $this->mysql="select * from friends_conf limit $this->m ,$this->namemust";
   $this->getresule();
   while($this->getrow())
   {
    echo($this->row["confname"]);  //你想读出的字段,自己添加
    echo($this->row["confvalue"]);
   }
  }
  function firstpage()  //首页
  {
   echo("<a href='/blog_article/pagefy/n/1.html'>首页<a>");
  }
  function backpage()   //上一页
  {
   if($this->i = $_GET["n"] - 1)
   {
   echo("<a href='/blog_article/pagefy/n/$this-/gt;i.html'>上一页<a>"); 
   }
  } 
  function nextpage()  //下一页
  {
   $this->i = $_GET["n"] + 1;
   if($this->i <= $this->a)
   {
    echo("<a href='/blog_article/pagefy/n/$this-/gt;i.html'>下一页<a>");
   }
  }
  function footpage() //最后一页
  {
   echo("<a href='/blog_article/pagefy/n/$this-/gt;a.html'>最后一页<a>");
  } 
 }
?>
<?php  //调试部分
 $mm = new pagefy;
 $mm->createconn();
 $mm->mysql="select count(*) from friends_conf";
 $mm->getresule();
 $mm->closedatabase();
 $mm->getrow();
 $mm->gettatol();
 $mm->getpage();
 $mm->num_pl();
 $mm->get_num_pl();
 $mm->showpage();
 $mm->closedatabase();
 $mm->firstpage();
 $mm->backpage();
 $mm->nextpage();
 $mm->footpage();
?>
这个类已经调试完成!十分好用~~~~~~~~~~~~~~~~
类就是你的刀~不提前炼好,难到要等打架的时候再去炼呀!~早死人了~~
所有我一有空!就写个方面的功能类~~~~~~       
应该来说我这个类~~相对简单~~~看不懂的问~

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