php常用函數

轉載 http://hi.baidu.com/jiang4773300/blog/item/ba1ddd3f90d3a0f3838b13d2.html
<?php
/*
isemail
id_check
post_check
get_check
gbsubstr
msg
redirect
upindexpic
uploadfile
createstaticpage
*/
function isemail($email)
{//判斷email
if($email!="")
{
if(!eregi("[0-9a-zA-Z_]@[0-9a-zA-Z_]{2,20}.[0-9a-zA-Z_]{2,3}",$email))
{
return false;
}
else
{
return true;
}
}
else
{
return false;
}
}


/*
函數名稱:inject_check()
函數作用:檢測提交的值是不是含有SQL注射的字符,防止注射,保護服務器安全
參 數:$sql_str: 提交的變量
返 回 值:返回檢測結果,ture or false
*/
function inject_check($sql_str)
{
return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str); // 進行過濾
}
/*
函數名稱:verify_id()
函數作用:校驗提交的ID類值是否合法
參 數:$id: 提交的ID值
返 回 值:返回處理後的ID
*/

function id_check($id=null)
{
if (!$id) { exit('沒有提交參數!'); } // 是否爲空判斷
elseif (inject_check($id)) { exit('提交的參數非法!'); } // 注射判斷
elseif (!is_numeric($id)) { exit('提交的參數非法!'); } // 數字判斷
$id = intval($id); // 整型化

return $id;
}
/*
函數名稱:str_check()
函數作用:對提交的字符串進行過濾
參 數:$var: 要處理的字符串
返 回 值:返回過濾後的字符串
*/
function get_check($str)
{
if (!get_magic_quotes_gpc())
{ // 判斷magic_quotes_gpc是否打開
$str = addslashes($str); // 進行過濾
}elseif(inject_check($id)){
exit('提交的參數非法!');
}
$str = str_replace("_", "\_", $str); // 把 '_'過濾掉
$str = str_replace("%", "\%", $str); // 把' % '過濾掉

return $str;
}
/*
函數名稱:post_check()
函數作用:對提交的編輯內容進行處理
參 數:$post: 要提交的內容
返 回 值:$post: 返回過濾後的內容
*/
function post_check($post)
{
if (!get_magic_quotes_gpc()) // 判斷magic_quotes_gpc是否爲打開
{
$post = addslashes($post); // 進行magic_quotes_gpc沒有打開的情況對提交數據的過濾
}
$post = str_replace("_", "\_", $post); // 把 '_'過濾掉
$post = str_replace("%", "\%", $post); // 把' % '過濾掉
$post = nl2br($post); // 回車轉換
$post = htmlspecialchars($post); // html標記轉換

return $post;
}


function gbsubstr($str,$strlen=24,$other=true)
{#中文字符截取 $other=true時在後面加省略號
$j = 0;

for($i=0;$i<$strlen;$i++)
{
if(ord(substr($str,$i,1))>0xa0)
$j++;
}

if($j%2!=0)
$strlen--;

$rstr=substr($str,0,$strlen);

if (strlen($str)>$strlen && $other)
$rstr.='...';

return $rstr;
}

#$url_this = "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];//得到當前頁面地址
#<a href="javascript:history.back(-1)">返回上一頁</a>
#<a href=javascript:if(confirm('確定要刪除嗎?'))location="list_RecomPub.php">刪除</a>

function msg($msg,$page) //彈出對話框,輸出消息
{
echo "<SCRIPT language = JavaScript>alert(\"".$msg."\");history.go(".$page.");location.replace(document.referrer);</SCRIPT>";
exit;
}

function redirect($url,$text="") //重定向
{
//echo "<p>$text</p>";
echo "<SCRIPT language = JavaScript>alert(\"".$text."\");</SCRIPT>";
echo "<meta http-equiv=\"refresh\" content=\"0;URL=$url\">";
}

function revise($srcFile,$dstFile,$SizePicX,$SizePicY)
{#修正上傳的圖片大小
#$srcFile:源文件路徑及文件名
#$dstFile:目標文件路徑及文件名

#$srcX:源圖片寬度
#$srcY:源圖片高度

#$dstX:目標圖片寬度
#$dstY:目標圖片高度

#使用方法:
#revise($srcFile,$dstFile,$SizePicSmallX,$SizePicSmallY)

$data=getimagesize($srcFile);

switch($data[2]){
case 1:
$im=@imagecreatefromgif($srcFile);
break;
case 2:
$im=@imagecreatefromjpeg($srcFile);
break;
case 3:
$im=@imagecreatefrompng($srcFile);
break;
default :
break;
}

$srcX = imagesx($im);
$srcY = imagesy($im);
$dstY = $SizePicX;
$dstX = $SizePicY;

$ni = imagecreatetruecolor($dstX,$dstY);
$black = imagecolorallocate($ni,255,255,255);
imagefilledrectangle($ni,0,0,$dstX,$dstY,$black);
imagecopyresized($ni,$im,0,0,0,0,$dstX,$dstY,$srcX,$srcY);
imagegif($ni,$dstFile);

}

function upindexpic($SizePicX=120,$SizePicY=90)
{#修改yangs的程序,添加生成首頁各欄目縮略圖,使用本函數時,請確保$url的獨一性,不好意思,開始寫的時候沒考慮url的廣泛
global $url;

$urlPicType=$_FILES['url']['type'];
$filename=md5(uniqid(microtime(),1));
$type = array ("image/gif",
"image/pjpeg",
);
if(!in_array($urlPicType,$type))
{
die("請上傳正確格式的圖片");//沒有正確的輸出信息.
}
if($urlPicType=="image/gif")
{
$urlPicType=".gif";
}
elseif($urlPicType=="image/pjpeg")
{
$urlPicType=".jpg";
}
$url="../indexPic/".$filename.$urlPicType;
if(!copy($_FILES['url']['tmp_name'],$url))
{
die("上傳圖片失敗");
}

revise($url,$url,$SizePicX,$SizePicY);

$url = str_replace("../", "", $url);
}

/*文件上傳
使用方法:
$tmp_name = $_FILES['userfile']['tmp_name'][0];
$name = $_FILES['userfile']['name'][0];
$dir = '../upload';
uploadFile($tmp_name,$name,$dir)
返回值爲文件的路徑
*/
function uploadfile($tmp_name,$name,$dir)
if(!is_uploaded_file($tmp_name)){//$tmp_name=$_FILES['userfile']['tmp_name'][0]
msg("非法操作",-1);
}elseif($_FILES['file']['size'][0]>10240000){
msg("您上傳的資料大於10MB",-1);
exit;
}
$filename = $name; // $name=$_FILES['userfile']['name'][0]
$extendname = explode(".",$filename);//------------------取得擴展名
$extendname = $name_pic[count($name_pic)-1];

$filetype= array("jpg","gif","png","bmp","swf","doc","xsl","txt");
if(!in_array($extendname,$filetype)){
msg("不允許上傳此類文件1",-1);
}else{
$randval = date("Ymd").rand();
$fileurl = $dir.$randval.".".$extendname;
move_uploaded_file($_FILES['userfile']['tmp_name'][0], $fileurl);
return $fileurl;
}

function createstaticpage($sourcePage,$objectPage)#來源文件,目標文件
{
global $db;

ob_start(); #打開緩衝區

include $sourcePage; #在緩衝區中釋放頁面

$cons=ob_get_contents(); #得到緩衝區中的內容

ob_end_clean(); #清除緩衝區的內容

$fp=fopen($objectPage,"w+") or die("靜態生成時打開文件".$objectPage."時出錯");

fwrite($fp,$cons);

fclose($fp);

return true;
}
?>
發佈了40 篇原創文章 · 獲贊 0 · 訪問量 4382
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章