php函式封裝
這是一些自定義封裝的函式類,呼叫起來很方便,以後會有更多的封裝函式更新!
// 彈框跳轉
function alert($msg,$url=“){
echo “<script>”;
echo “alert(`$msg`);”;
if($url){
echo “window.location.href=`$url`;”;
}else{
echo “window.history.go(-1);”;
}
echo “</script>”;
}
//獲取單條資料
function getONE($sql){
$sql = mysql_query($sql);
$list = array();
if($sql && mysql_affected_rows()>0){
$list = mysql_fetch_assoc($sql);
}return $list;
}
//獲取多條資料
function getALL($sql){
$sql = mysql_query($sql);
$list = array();
if($sql && mysql_affected_rows()>0){
while($row = mysql_fetch_assoc($sql)){
$list[] = $row;
}
}return $list;
}
/**
* [delete 刪除資料]
* @param [string] $table [表名]
* @param [string] $where [條件]
* @return [boolean] [返回結果]
*/
//刪除資料SQL語句封裝
function delete($table,$where){
//構造刪除的SQL語句
$sql = “DELETE FROM `$table` WHERE $where;”;
//把SQL語句執行
$res = mysql_query($sql);
//判斷是否執行成功
if($res && mysql_affected_rows()>0){
return true;
}else{
return false;
}
}
/**
* [update 更新資料]
* @param [string] $table [表名]
* @param [array] $array [要更新的資料]
* @param [string] $where [條件]
* @return [type] [返回結果]
*/
//更新資料SQL語句封裝
function update($table,$array,$where){
$str = “;
foreach($array as $key => $value){
$str .= “`”.$key.”`=`”.$value.”`,”;
}
//去除最右邊的逗號
$str = rtrim($str,`,`);
//構造更新的SQL語句
$sql = “UPDATE `$table` SET $str WHERE $where”;
// dump($sql);exit;
$res = mysql_query($sql);
//判斷是否執行成功
if($res){
return true;
}else{
return false;
}
}
/**
* [insert 插入資料]
* @param [string] $table [表名]
* @param [array] $data [資料]
* @return [bool] [是否成功]
*/
function insert($table,$data){
$tmp = array_keys($data);
$field = “`.implode(“,“, $tmp).“`;
$value = “`”.implode(“`,`”,$data).”`”;
$sql = “INSERT INTO $table ($field) VALUES ($value)”;
// dump($sql);exit;
$res = mysql_query($sql);
if($res && mysql_affected_rows()>0){
return mysql_insert_id();
}else{
return false;
}
}
//pre預排版列印
function dump($content){
echo “<pre>”;
print_r($content);
echo “</pre>”;
}
/**
*
* 字元擷取
* @param string $string
* @param int $start
* @param int $length
* @param string $charset
* @param string $dot
*
* @return string
*/
function str_cut(&$string, $start, $length, $charset = “utf-8”, $dot = `…`) {
if(function_exists(`mb_substr`)) {
if(mb_strlen($string, $charset) > $length) {
return mb_substr ($string, $start, $length, $charset) . $dot;
}
return mb_substr ($string, $start, $length, $charset);
}else if(function_exists(`iconv_substr`)) {
if(iconv_strlen($string, $charset) > $length) {
return iconv_substr($string, $start, $length, $charset) . $dot;
}
return iconv_substr($string, $start, $length, $charset);
}
$charset = strtolower($charset);
switch ($charset) {
case “utf-8” :
preg_match_all(“/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/”, $string, $ar); if(func_num_args() >= 3) { if (count($ar[0]) > $length) { return join(“”, array_slice($ar[0], $start, $length)) . $dot; } return join(“”, array_slice($ar[0], $start, $length)); } else { return join(“”, array_slice($ar[0], $start)); } break; default: $start = $start * 2; $length = $length * 2; $strlen = strlen($string); for ( $i = 0; $i < $strlen; $i++ ) { if ( $i >= $start && $i < ( $start + $length ) ) { if ( ord(substr($string, $i, 1)) > 129 ) $tmpstr .= substr($string, $i, 2); else $tmpstr .= substr($string, $i, 1); } if ( ord(substr($string, $i, 1)) > 129 ) $i++; } if ( strlen($tmpstr) < $strlen ) $tmpstr .= $dot; return $tmpstr; }}
/**
* [uploads 檔案上傳函式]
* @param [string] $name [表單域的name名]
* @param [string] $catalog [檔案儲存的路徑]
* @param array $type [允許上傳的檔案型別]
* @param integer $size [允許上傳的檔案大小]
* @return [array] [error 1 上傳失敗 2 上傳成功]
*/
function uploads($name,$catalog,$type=array(`jpg`,`jpeg`,`gif`,`png`),$size=1048576){
$status = $_FILES[$name][`error`];
if($status>0){
switch($status){
case 1:
$res[`msg`] = “檔案上傳超過最大值2M”;
$res[`err`] = 1;
return $res;
break;
case 2:
$res[`msg`] = “檔案上傳超過MAX_FILE_SIZE大小”;
$res[`err`] = 1;
return $res;
break;
case 3:
$res[`msg`] = “檔案上傳失敗”;
$res[`err`] = 1;
return $res;
break;
case 4:
$res[`msg`] = `請選擇檔案`;
$res[`err`] = 1;
return $res;
break;
default:
break;
}
}
if($_FILES[$name][`size`]>$size){
$res[`msg`] = `上傳檔案超出指定大小`;
$res[`err`] = 1;
return $res;
}
$ext = pathinfo($_FILES[$name][`name`],PATHINFO_EXTENSION);
if(!in_array($ext,$type)){
$res[`msg`] = `請上傳指定的檔案型別`;
$res[`err`] = 1;
return $res;
}
//第一種做法
$catalog = rtrim($catalog,`/`);
$dir = $catalog;
if(!is_dir($dir)){
mkdir($dir,0777,true);
}
do{
$file = time().mt_rand(1000,9999);
$filename = $file.`.`.$ext;
$newname = $dir.`/`.$filename;
}while(is_file($dir.`/`.$filename));
move_uploaded_file($_FILES[$name][`tmp_name`], $dir.`/`.$filename);
$res[`msg`] = `檔案上傳成功`;
$res[`err`] = 2;
$res[`filename`] = $filename;
$res[`name`] = $filename;
return $res;
}
//封裝縮圖的函式
function small($file,$widths,$heights,$address){
$filename=”$file”;
$info = getimagesize($filename);
//獲取圖片的寬
$width = $info[0];
//獲取圖片的高
$height = $info[1];
//開啟圖片
if($info[2]==1){
$parent = imagecreatefromgif($filename);
}else if($info[2]==2){
$parent = imagecreatefromjpeg($filename);
}else if($info[2]==3){
$parent = imagecreatefrompng($filename);
}
$son_width = $widths;
$son_height = $heights;
// 等比例縮放
// $son_height = ceil(($height*$son_width)/$width);
//w/h = s_w/s_h
//新建影像
$son = imagecreatetruecolor($son_width,$son_height);
imagecopyresized($son,$parent,0,0,0,0,$son_width,$son_height,$width,$height);
$path = pathinfo($filename,PATHINFO_EXTENSION);
$time = time();
$pathname = $time.mt_rand(1000,9999).`.`.$path;
$save = $address.$pathname;
if($info[2]==1){ imagegif($son,$save); }else if($info[2]==2){ imagejpeg($son,$save); }else if($info[2]==3){ imagepng($son,$save); } imagedestroy($son); imagedestroy($parent); return $pathname; }
/**
* 獲得使用者的真實IP地址
*
* @access public
* @return string
*/
function real_ip()
{
static $realip = NULL;
if ($realip !== NULL)
{
return $realip;
}
if (isset($_SERVER))
{
if (isset($_SERVER[`HTTP_X_FORWARDED_FOR`]))
{
$arr = explode(`,`, $_SERVER[`HTTP_X_FORWARDED_FOR`]);
/* 取X-Forwarded-For中第一個非unknown的有效IP字串 */
foreach ($arr AS $ip)
{
$ip = trim($ip);
if ($ip != `unknown`)
{
$realip = $ip;
break;
}
}
}
elseif (isset($_SERVER[`HTTP_CLIENT_IP`]))
{
$realip = $_SERVER[`HTTP_CLIENT_IP`];
}
else
{
if (isset($_SERVER[`REMOTE_ADDR`]))
{
$realip = $_SERVER[`REMOTE_ADDR`];
}
else
{
$realip = `0.0.0.0`;
}
}
}
else
{
if (getenv(`HTTP_X_FORWARDED_FOR`))
{
$realip = getenv(`HTTP_X_FORWARDED_FOR`);
}
elseif (getenv(`HTTP_CLIENT_IP`))
{
$realip = getenv(`HTTP_CLIENT_IP`); } else { $realip = getenv(`REMOTE_ADDR`); } } preg_match(“/[d.]{7,15}/”, $realip, $onlineip); $realip = !empty($onlineip[0]) ? $onlineip[0] : `0.0.0.0`; return $realip;}
/**
* [arraySort 無限極分類函式]
* @param [type] $arr [description]
* @param integer $parentid [description]
* @return [type] [description]
*/
function arraySort($arr,$id,$pid,$parentid=0){
$list=array();
foreach($arr as $key => $v){
if($v[$pid]==$parentid){
$tmp = arraySort($arr,$id,$pid,$v[$id]);
if($tmp){
$v[`submenu`] = $tmp;
}
$list[]=$v;
}
}
return $list;
}
相關文章
- JSONP 通用函式封裝JSON函式封裝
- 前端常用函式封裝前端函式封裝
- 【封裝小技巧】列表處理函式的封裝封裝函式
- python怎麼封裝函式Python封裝函式
- 【封裝小技巧】數字處理函式的封裝封裝函式
- 封裝帶引數的函式封裝函式
- 那些年我封裝的 JS 函式封裝JS函式
- js封裝 Ajax ——常用工具函式JS封裝函式
- php 函式PHP函式
- php函式PHP函式
- PHP 函式PHP函式
- 關於緩動動畫函式的封裝動畫函式封裝
- 關於Vue中常用的工具函式封裝Vue函式封裝
- [記錄] 通用封裝函式——四則運算封裝函式
- 封裝一個簡單的動畫函式封裝動畫函式
- javascript封裝動畫函式(勻速、變速)JavaScript封裝動畫函式
- JavaScript - 獲取字串位元組數(函式封裝)JavaScript字串函式封裝
- MKL稀疏矩陣運算示例及函式封裝矩陣函式封裝
- WebAPIs-06:動畫函式封裝 + 觸屏事件WebAPI動畫函式封裝事件
- PHP 常用函式PHP函式
- PHP匿名函式PHP函式
- PHP常用函式PHP函式
- PHP函式大全PHP函式
- PHP函式mktimePHP函式
- PHP字串函式PHP字串函式
- PHP 每日一函式 — 字串函式 crypt ()PHP函式字串
- PHP 每日一函式 — 字串函式 chr ()PHP函式字串
- PHP 每日一函式 — 字串函式 addslashes ()PHP函式字串
- PHP 每日一函式 — 字串函式 addcslashes ()PHP函式字串
- javascript原生封裝一個淡入淡出效果的函式JavaScript封裝函式
- js封裝函式來 解釋jQuery的執行原理JS封裝函式jQuery
- 封裝一個元件 + 函式惰性思想(重寫應用)封裝元件函式
- 封裝Detours用於Python中x64函式hook封裝Python函式Hook
- 前端簡潔並實用的工具類函式封裝前端函式封裝
- Lua封裝函式模組並由其他模組呼叫封裝函式
- react hooks 如何自定義元件(react函式元件的封裝)ReactHook元件函式封裝
- php用curl封裝一個http請求類(鏈式呼叫)PHP封裝HTTP
- PHP函式漏洞審計之addslashes函式-PHP函式
- PHP常用函式篇PHP函式