PHP共通ツール

WBOY
リリース: 2016-06-23 13:36:40
オリジナル
1506 人が閲覧しました

/**
* よく使用されるツール
* @author wj
* @date 2015-4-15
*/
class Tool {
/**
* jsポップアップウィンドウとジャンプ
* @param string $ _info*/
static public functionalertLocation($_info, $_url) {
echo "";  
exit();  
}

/**
* js ポップアップウィンドウ return
* @param string $_info
* @return js*/
static public functionalertBack($_info) {
echo "";  
exit();  
}

/**
* ページジャンプ
* @param string $url
* @return js*/
static public function headerUrl($url) {
echo " ";  
exit();  
}

/**
写真をアップロードするためのシステム*/
static public function sysUploadImg($_path) {
echo '';  
echo '';  
echo '';  
echo '';  
}

/**
* HTML フィルタリング
* @param array|object $_date
* @return string*/
static public function htmlString($_date) {
if (is_array($_date)) {
            foreach ($_date as $_key=>$_value) {
$_string[$_key] = Tool::htmlString($_value);  //递归
}
} elseif (is_object($_date)) {
foreach ($_date as $_key=>$_value) {
$ _string->$_key = Tool::htmlString($_value);  //递归
}
} else {
$_string = htmlspecialchars($_date);  
}
$_string を返します。  
}

/**
* データベース入力フィルタリング
* @param string $_data
* @return string
*/
static public function mysqlString($_data) {
$_data =rim($_data);  
!GPC を返しますか? addcslashes($_data) : $_data;  
}

/**
* クリーンアップセッション
*/
static public function unSession() {
if (session_start()) {
session_destroy();  
}
}

/**
*空のかどうかを確認します*/
static function validateEmpty($str, $name) {
if (empty($str)) {
self::alertBack('警告:' .$name . 「空にはできません!」);  
}
}

/**
*それらが同じかどうかを確認します
* @param string $ str1
* @param string $ str2*/
static function validateAll($str1, $str2, $alert) {
if ($str1 != $str2) tBack('警告:' .$警告);  
}

/**
*/
static function validateId($id) {
if (empty($id) || !is_numeric($id)) self::alertBack('警告:パラメータ错误!' );  
}

/**
* フォーマット文字列
* @param 文字列 $str*/
static public function formatStr($str) {
$arr = array(' ', ' ', '&', '@', '#', '%', '''、'"'、'\'、'/'、'.'、','、'$'、'^'、'*'、'('、')'、'['、'] '、'{'、'}'、'|'、'~'、'`'、'?'、'!'、';'、':'、'-'、'_'、'+'、 '=');
foreach ($arr as $v) {
$str = str_replace($v, '', $str);
        }
$str; を返します。  
}

/**
*使用の使用を使用して使用する場合の時間の使用*/
static public function formatDate($time='default') {
$date = $time == 'default' ? date('Y-m-d H:i:s', time()) : date('Y-m-d H:i:s', $time);  
$date を返します。  
}

/**
* 実際のIPアドレスを取得
* @return string
*/
static public function realIp() {
static $realip = NULL;     
if ($realip !== NULL) $realip を返します。    
if(isset($ _ server)){
if(isset($ _ server ['http_x_forwarded_for'])){
$ arr = explode( '、'、$ _server ['http_x_forwarded_for']);    
foreach ($arr AS $ip) {
$ip = トリム($ip);    
if ($ip != 'unknown') {
$realip = $ip;     
休憩。     
}
}}} 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';    
$realip を返します。    
}

/**
* Smarty テンプレートをロードします
* @param string $html
* @return null;*/
static public function display() {
global $tpl;$html = null;  
$htmlArr =explode('/', $_SERVER[SCRIPT_NAME]);  
$html = str_ireplace('.php', '.html', $htmlArr[count($htmlArr)-1]);  
$dir = ディレクトリ名($_SERVER[SCRIPT_NAME]);  
$firstStr = substr($dir, 0, 1);  
$endStr = substr($dir, strlen($dir)-1, 1);  
if ($firstStr == '/' || $firstStr == '\') $dir = substr($dir, 1);  
if ($endStr != '/' || $endStr != '\') $dir = $dir 。 '/';  
$tpl->display($dir.$html);  
}

/**
* ディレクトリを作成します
* @param string $dir
*/
static public function createDir($dir) {
if (!is_dir($dir)) {
mkdir, 0777);  
}
}

/**
* ファイルを作成します (デフォルトは空です)
* @paramknown_type $filename
*/
static public function createFile($filename) {
if (!is_file($filename)) touch($filename);  
}

/**
* 変数を正しく取得する use using using using*/
static public function getData($param, $type='post') {
$type = strto lower($type);  
if ($type=='post') {
return Tool::mysqlString(trim($_POST[$param]));  
} elseif ($type=='get') {
return Tool::mysqlString(trim($_GET[$param]));  
}
}

/**
* ファイルを削除します
* @param string $filename
*/
static public function delFile($filename) {
if (file_exists($filename)) unlink($filename);  
}

/**
* ディレクトリを削除します
* @param string $path
*/
static public function delDir($path) {
if (is_dir($path)) rmdir($path);  
}

/**
* ディレクトリとディレクトリ内のすべてのファイルを削除します
* @param string $dir
($dir )) {
$dh=opendir($dir)."/".$file ;その他{
}
closeir($dh); #&*/
static public function validateLogin() {
if ($_SESSION[' admin']['user'])) header('Location:/admin /');
}

/**
* ログインを確認してください
*/
static public function addMark($file_path) {
if (file_exists($file_path) && file_exists(MARK)) {
$ext_name = strto lower(sub str( $ file_path、strrpos($ file_path、 ')、strlen($ file_path));case '.gif':st_im = imagecreatefrompng($ file_path);座標位置に応じたトゥルーカラー画像。 case '.jpg':
imagejpeg ($ nimage、$ file_path);            imagedestroy($dst_im);  
imagedestroy($src_im);  
unset($imginfo);  
unset($src_imginfo);  
//移動生成後の画像
@move_uploaded_file($file_path, ROOT_PATH.UPDIR . $file_path);  
}
}

/**
* * 中国語インターセプト 2、シングルバイト インターセプト モード
* @access public
* * @param string $str インターセプトする文字列
* @param int $slen インターセプトの長さ
* * @param int $startdd開始マーク
* @return 文字列
*/
static public function cn_substr($str, $slen, $startdd=0){
$cfg_soft_lang = PAGECHARSET;  
if($cfg_soft_lang=='utf-8') {
return self::cn_substr_utf8($str, $slen, $startdd);  
}
$restr = '';  
$c = '';  
$str_len = strlen($str);  
if($str_len < $startdd+1) {
return '';  
}
if($str_len < $startdd + $slen || $slen==0) {
$slen = $str_len - $startdd;  
}
$enddd = $startdd + $slen - 1;  
for($i=0;$i<$str_len;$i++) {
if($startdd==0) {
$restr .= $c;  
} elseif($i > $startdd) {
$restr .= $c;   if(ord($ str [$ i])&gt; 0x80){
if($ str_len&gt; $ i+1){
$ c = $ str [$ i]。$ str [$ i+1] ;  
}
$i++;  
} else {
$c = $str[$i];   if($ i&gt; = $ enddd){
if(strlen($ strem)+strlen($ c)&gt; $ slen){
break;  
} else {
$restr .= $c;  
休憩。  
}
{
$start+1) {

// mysql4 と互換性を持たせるために、.1 よりも下のバージョンはデータベース varchar と一致します。 for($ i = 0; isset($ ar [0] [$ i]); $ i ++){
if(strlen($ tstr)&lt; $ start){
{
}
($ image_id){
$ db_name = PREFIX . 'images i'; $m = new Model(); "i.path as b, i.small_img as $v"); self::delFile(ROOT_PATH . $v['p']);
@self::delFile(ROOT_PATH . $v['b']);
@self::delFile(ROOT_PATH . $v['s'] ); "id={$image_id}");    static public function raiseImage($im, $maxwidth, $maxheight, $name, $filetype) {
$pic_width = imagex($im);  
$pic_height = imagey($im);  
if(($maxwidth && $pic_width > $maxwidth) || ($maxheight && $pic_height > $maxheight)) {
if($maxwidth && $pic_width>$maxwidth) {
$widthratio = $最大幅/$ pic_width;  
$resizewidth_tag = true;  
}
if($maxheight && $pic_height>$maxheight) {
$heightratio = $maxheight/$pic_height;  
$resizeheight_tag = true;  
}
if($resizewidth_tag && $resizeheight_tag) {
if($widthratio $ratio = $widthratio;  
else
$ratio = $heightratio;  
}
if($resizewidth_tag && !$resizeheight_tag)
$ratio = $widthratio;  
if($resizeheight_tag && !$resizewidth_tag)
$ratio = $heightratio;  
$newwidth = $pic_width * $ratio;  
$newheight = $pic_height * $ratio;  
if(function_exists("imagecopyresampled")) {
$newim = imagecreatetruecolor($newwidth,$newheight);  
imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);  
} else {
$newim = imagecreate($newwidth,$newheight);  
imagecopyresize($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);  
}
$name = $name.$filetype;  
imagejpeg($newim,$name);  
imagedestroy($newim);  
} else {
$name = $name.$filetype;  
imagejpeg($im,$name);  
}
}

/**
* ファイルをダウンロードします
* @param string $file_path 絶対パス
*/
static public function downFile($file_path) {
// ファイルが存在するかどうかを確認します
$file_path = iconv('utf-8', 'gb2312', $file_path); // using using using - ('ファイルが存在しません!'); _名前 = Basename ($ file_path); // ファイル名を取得します
$ file_size = filesize ($ file_path) // ファイルサイズを取得します ,, 'r'); // ファイルを読み取り専用ヘッダーとして開きます。 application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: {$file_size}");
header("Content-Disposition:attachment;filename={ $ file_name} ");
$ buffer = 1024;
$ file_count = 0; //ファイルを閉じる
}
}

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート