自己的php常用功能

项目做完了,总结下用到的php代码,从基础到复杂

1、操作mysql的函数库pdo.php文件:

<?php
$my_class_mysql_server_name_ = "127.0.0.1"; 
$my_class_mysql_user_name_ = "root"; 
$my_class_mysql_password_value_ = "123";
$my_class_mysql_databasename_value_ = "zlhbxtdb";

//PHP运行:runSQL($sql)
//参数化运行: runCSSQL($sql,$parameter,$parameterVal)
//PHP创建mysql数据表:addTable()
//PHP创建mysql数据库:addDB()
//连接mysql数据库:linkDB()
//查询: selectValue($sql)
//参数查询: selectCSValue($sql,$parameter,$parameterVal)
//PHP连接mysql数据库: 
function linkDB(){
global $my_class_mysql_server_name_; 
global $my_class_mysql_user_name_; 
global $my_class_mysql_password_value_; 
global $my_class_mysql_databasename_value_;
try

$conn = new PDO("mysql:host=".$my_class_mysql_server_name_.";dbname=".$my_class_mysql_databasename_value_, $my_class_mysql_user_name_, $my_class_mysql_password_value_); 
echo "连接成功"; 

catch (PDOException $e)

echo $e->getMessage(); 
}
}
//参数查询
function selectCSValue($sql,$parameter,$parameterVal){
global $my_class_mysql_server_name_; 
global $my_class_mysql_user_name_; 
global $my_class_mysql_password_value_; 
global $my_class_mysql_databasename_value_;
try

$conn = new PDO("mysql:host=".$my_class_mysql_server_name_.";dbname=".$my_class_mysql_databasename_value_, $my_class_mysql_user_name_, $my_class_mysql_password_value_); 
$stm = $conn->prepare($sql);//"select * from usertable where username like :user"
//正确
$i=0;
for($i=0;$i<count($parameter);$i++)
{
$stm->bindValue($parameter[$i],$parameterVal[$i]);
}
//正确 $stm->bindParam(":user",$user);
//正确 $stm->bindValue(":user","jack");
//查询
$stm->execute();
$a = $stm->fetchAll();
return $a;
}
catch (PDOException $e)

echo $sql . "<br>" . $e->getMessage();

}


//参数化运行
function runCSSQL($sql,$parameter,$parameterVal){
global $my_class_mysql_server_name_; 
global $my_class_mysql_user_name_; 
global $my_class_mysql_password_value_; 
global $my_class_mysql_databasename_value_;
//$sql = "insert into usertable values (:userv, :pw, :type)";
try

$conn = new PDO("mysql:host=".$my_class_mysql_server_name_.";dbname=".$my_class_mysql_databasename_value_, $my_class_mysql_user_name_, $my_class_mysql_password_value_); 
$stm = $conn->prepare($sql); 
for($i=0;$i<count($parameter);$i++)
{
$stm->bindParam($parameter[$i],$parameterVal[$i]);
}
$stm->execute();
//echo "数据插入成功";
}
catch (PDOException $e)

echo $sql . "<br>" . $e->getMessage(); 
}
$conn = null;
}
//查询
function selectValue($sql){
global $my_class_mysql_server_name_; 
global $my_class_mysql_user_name_; 
global $my_class_mysql_password_value_; 
global $my_class_mysql_databasename_value_;
try

$conn = new PDO("mysql:host=".$my_class_mysql_server_name_.";dbname=".$my_class_mysql_databasename_value_, $my_class_mysql_user_name_, $my_class_mysql_password_value_); 
$rs = $conn-> query($sql);
$a = $rs->fetchAll();
return $a;
}
catch (PDOException $e)

echo $sql . "<br>" . $e->getMessage();

}
//PHP创建mysql数据库:
function addDB(){
global $my_class_mysql_server_name_; 
global $my_class_mysql_user_name_; 
global $my_class_mysql_password_value_; 
global $my_class_mysql_databasename_value_;
try

$conn = new PDO("mysql:host=".$my_class_mysql_server_name_.";dbname=".$my_class_mysql_databasename_value_, $my_class_mysql_user_name_, $my_class_mysql_password_value_); 
//设置 PDO 错误模式为异常 ,用 于抛出异常 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$sql = "create database mydb";
$conn->exec($sql);
echo "数据库创建成功<br>"; 
}
catch (PDOException $e)

echo $sql . "<br>" . $e->getMessage();

//关闭连接 
$conn = null;
}
//PHP创建mysql数据表:
function addTable(){
global $my_class_mysql_server_name_; 
global $my_class_mysql_user_name_; 
global $my_class_mysql_password_value_; 
global $my_class_mysql_databasename_value_;
try

$conn = new PDO("mysql:host=".$my_class_mysql_server_name_.";dbname=".$my_class_mysql_databasename_value_, $my_class_mysql_user_name_, $my_class_mysql_password_value_); 
$conn -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "create table myfriend( id INT(6) UNSIGNED AUTO_INCR EMENT PRIMARY KEY, name VARCHAR(30) NOT NULL , email VARCHAR(50), sex CHAR(1) )";
$conn->exec($sql); 
echo "数据表创建成功";
}
catch (PDOException $e)

echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
}
//PHP运行SQL语句:
function runSQL($sql){
global $my_class_mysql_server_name_; 
global $my_class_mysql_user_name_; 
global $my_class_mysql_password_value_; 
global $my_class_mysql_databasename_value_;
try

$conn = new PDO("mysql:host=".$my_class_mysql_server_name_.";dbname=".$my_class_mysql_databasename_value_, $my_class_mysql_user_name_, $my_class_mysql_password_value_); 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec($sql); 
//echo "数据插入成功";
}
catch (PDOException $e)

echo $sql . "<br>" . $e->getMessage(); 
}
$conn = null;
}
//PHP插入多条记录:
function addMoveLIST(){
global $my_class_mysql_server_name_; 
global $my_class_mysql_user_name_; 
global $my_class_mysql_password_value_; 
global $my_class_mysql_databasename_value_;
try
{
$conn = new PDO("mysql:host=".$my_class_mysql_server_name_.";dbname=".$my_class_mysql_databasename_value_, $my_class_mysql_user_name_, $my_class_mysql_password_value_); 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
//开始事务 
$conn->beginTransaction(); 
//sql语句 
$conn->exec( "insert into usertable values ('c', 'c1', '22c')" );
$conn->exec( "insert into usertable values ('d', 'd1', '22d')" );
$conn->exec( "insert into usertable values ('e', 'e1', '22e')" ); 
//提交事务 
$conn->commit(); 
echo "多条记录提交成功";
}
catch (PDOException $e)

//如果插入失败则回滚事务 
$conn->rollBack(); 
echo $e->getMessage(); 
}
$conn = null;
}
?>

引入方法:include ('./pdo.php');

使用例子:

参数添加数据库:

$arr3 = array(":id",":title",":keyword",":jj",":zz",":sj",":cs",":text",":typeid",":nian",":yue",":type",":imgxz");
$arr4 = array($id,$_POST["title"],$_POST["keyword"],$_POST["jj"],$_POST["zz"],date("Y-m-d"),0,$_POST["content1"],$_POST["belong"],$_POST["nian"],str_replace("月","",$_POST["yue"]),$_POST["htmltype"],$imgxz);
runCSSQL("INSERT INTO webtext(id,title,keyword,jj,zz,sj,cs,text,typeid,nian,yue,type,imgxz) VALUES (:id,:title,:keyword,:jj,:zz,:sj,:cs,:text,:typeid,:nian,:yue,:type,:imgxz)", $arr3,$arr4);
echo("<script>alert('添加成功')</script>");

参数查询:

$arr1 = array(":user",":pw");
$arr2 = array($username,$password);
$val = selectCSValue("select * from usertable where username like :user and password like :pw",$arr1,$arr2);

参数修改:

$arr3 = array(":text",":id");
$arr4 = array($_POST['title'],$_POST['belong']);
runCSSQL("UPDATE webtype SET jieshao = :text WHERE dui = :id", $arr3,$arr4);

2、毫秒级时间戳,用来生成id

function getMillisecond() {
list($t1, $t2) = explode(' ', microtime());
return (float)sprintf('%.0f',(floatval($t1)+floatval($t2))*1000);
}

3、可以使用的缩略图生成,copy的代码(向作者致敬),需要安装gb2扩展,ubuntu安装方法:apt-get -y install php5-curl php5-gd,装完重启web服务器

/**
 * 简单的生成缩略图函数(支持图片格式:gif、jpeg、png和bmp)
 * @author  xiaoshuoit@163.com
 * @param   string  $src        源图片路径
 * @param   int     $width      缩略图宽度(只指定高度时进行等比缩放)
 * @param   int     $width      缩略图高度(只指定宽度时进行等比缩放)
 * @param   string  $filename   保存路径(不指定时直接输出到浏览器)
 * @return  bool
 */
function img_create_small($src, $width = null, $height = null, $filename = null) {
    if (!isset($width) && !isset($height))
        return false;
    if (isset($width) && $width <= 0)
        return false;
    if (isset($height) && $height <= 0)
        return false;
 
    $size = getimagesize($src);
    if (!$size)
        return false;
 
    list($src_w, $src_h, $src_type) = $size;
    $src_mime = $size['mime'];
    switch($src_type) {
        case 1 :
            $img_type = 'gif';
            break;
        case 2 :
            $img_type = 'jpeg';
            break;
        case 3 :
            $img_type = 'png';
            break;
        case 15 :
            $img_type = 'wbmp';
            break;
        default :
            return false;
    }
 
    if (!isset($width))
        $width = $src_w * ($height / $src_h);
    if (!isset($height))
        $height = $src_h * ($width / $src_w);
 
    $imagecreatefunc = 'imagecreatefrom' . $img_type;
    $src_img = $imagecreatefunc($src);
    $dest_img = imagecreatetruecolor($width, $height);
    imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $width, $height, $src_w, $src_h);
 
    $imagefunc = 'image' . $img_type;
    if ($filename) {
        $imagefunc($dest_img, $filename);
    } else {
        header('Content-Type: ' . $src_mime);
        $imagefunc($dest_img);
    }
 
    imagedestroy($src_img);
    imagedestroy($dest_img);
    return true;
}

4、接收get参数:$_GET["id"]

      接收post参数:$_POST["控件名"]

5、读取cookie:$_COOKIE["username"]

    生成cookie:setcookie("username",$username);

6、跳转到某页:header("Location: backpage.php");

7、普通的php页面的form:<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">

    上传文件的form:<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post"  enctype="multipart/form-data">

8、判断post是否有值:字符类的:if(isset($_POST['submit']))

                            上传文件类的:if ($_FILES["filename"]["error"] > 0)

9、判断点击了某个按钮:if(!empty($_POST['submit1'])){}if(!empty($_POST['submit2'])){}

10、判断上传文件类型:if ($_FILES["filename"]["type"] == "image/jpeg")

11、上传文件:move_uploaded_file($_FILES["filename"]["tmp_name"],"新文件在服务器的路径");

12、上传图片代码:

if ($_FILES["filename"]["type"] == "image/jpeg")
{
if ($_FILES["filename"]["error"] > 0)
{
echo "Return Code: " . $_FILES["filename"]["error"] . "<br />";
}
else
{
$ddd=$_FILES["filename"]["size"];
$newfilename="images/" . 新文件名 . ".jpg";
move_uploaded_file($_FILES["filename"]["tmp_name"],$newfilename);
echo "<script>alert('上传成功')</script>";
   }
}
else
{
echo "<script>alert('文件类型错误')</script>";
}

13、取得多维数组的某维数据数量:count(数组名,维数)例子:count($val,0)

14、取得当前时间:$time = date('y-m-d h:i:s',time());

15、一个php生成xml的例子,copy的,向原作者致敬

<?php

//建立<root>元素
$response = $dom->createElement('root');
$dom->appendChild($response);
//建立<books>元素并将其作为<root>的子元素
$books = $dom->createElement('books');
$response->appendChild($books);
//为book创建标题
$title = $dom->createElement('title');
$titleText = $dom->createTextNode('PHP与AJAX');
$title->appendChild($titleText);
//为book创建isbn元素
$isbn = $dom->createElement('isbn');
$isbnText = $dom->createTextNode('1-21258986');
$isbn->appendChild($isbnText);
//创建book元素
$book = $dom->createElement('book');
$book->appendChild($title);
$book->appendChild($isbn);
//将<book>作为<books>子元素
$books->appendChild($book);
//在一字符串变量中建立XML结构
$xmlString = $dom->saveXML();
//输出XML字符串
echo $xmlString;

?>

16、取得字符串长度 strlen("www.sunchis.com"); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值