ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。有一些实用的函数,可以说是通用函数。分享一些,以后用到可以直接复制,运用到项目中。
/**
* ECSHOP 密码编译方法;
*
* @access public
* @param string $pass 需要编译的原始密码
*
* @return string
*/
function compile_password($pass)
{
return md5($pass);
}
/**
* 取得当前的域名
*
* @access public
*
* @return string 当前的域名
*/
function get_domain()
{
/* 协议 */
$protocol = $this->http();
/* 域名或IP地址 */
if (isset($_SERVER['HTTP_X_FORWARDED_HOST']))
{
$host = $_SERVER['HTTP_X_FORWARDED_HOST'];
}
elseif (isset($_SERVER['HTTP_HOST']))
{
$host = $_SERVER['HTTP_HOST'];
}
else
{
/* 端口 */
if (isset($_SERVER['SERVER_PORT']))
{
$port = ':' . $_SERVER['SERVER_PORT'];
if ((':80' == $port && 'http://' == $protocol) || (':443' == $port && 'https://' == $protocol))
{
$port = '';
}
}
else
{
$port = '';
}
if (isset($_SERVER['SERVER_NAME']))
{
$host = $_SERVER['SERVER_NAME'] . $port;
}
elseif (isset($_SERVER['SERVER_ADDR']))
{
$host = $_SERVER['SERVER_ADDR'] . $port;
}
}
return $protocol . $host;
}
/**
* 获得 ECSHOP 当前环境的 URL 地址
*
* @access public
*
* @return void
*/
function url()
{
$curr = strpos(PHP_SELF, ADMIN_PATH . '/') !== false ?
preg_replace('/(.*)(' . ADMIN_PATH . ')(\\/?)(.)*/i', '\\1', dirname(PHP_SELF)) :
dirname(PHP_SELF);
$root = str_replace('\\\\', '/', $curr);
if (substr($root, -1) != '/')
{
$root .= '/';
}
return $this->get_domain() . $root;
}
/**
* 获得 ECSHOP 当前环境的 HTTP 协议方式
*
* @access public
*
* @return void
*/
function http()
{
return (isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')) ? 'https://' : 'http://';
}
/**
* 获得数据目录的路径
*
* @param int $sid
*
* @return string 路径
*/
function data_dir($sid = 0)
{
if (empty($sid))
{
$s = 'data';
}
else
{
$s = 'user_files/';
$s .= ceil($sid / 3000) . '/';
$s .= $sid % 3000;
}
return $s;
}
/**
* 获得图片的目录路径
*
* @param int $sid
*
* @return string 路径
*/
function image_dir($sid = 0)
{
if (empty($sid))
{
$s = 'images';
}
else
{
$s = 'user_files/';
$s .= ceil($sid / 3000) . '/';
$s .= ($sid % 3000) . '/';
$s .= 'images';
}
return $s;
}
/**
* 加密函数
* @param string $str 加密前的字符串
* @param string $key 密钥
* @return string 加密后的字符串
*/
function encrypt($str, $key = AUTH_KEY)
{
$coded = '';
$keylength = strlen($key);
for ($i = 0, $count = strlen($str); $i < $count; $i += $keylength)
{
$coded .= substr($str, $i, $keylength) ^ $key;
}
return str_replace('=', '', base64_encode($coded));
}
/**
* 解密函数
* @param string $str 加密后的字符串
* @param string $key 密钥
* @return string 加密前的字符串
*/
function decrypt($str, $key = AUTH_KEY)
{
$coded = '';
$keylength = strlen($key);
$str = base64_decode($str);
for ($i = 0, $count = strlen($str); $i < $count; $i += $keylength)
{
$coded .= substr($str, $i, $keylength) ^ $key;
}
return $coded;
}
/**
* 验证输入的邮件地址是否合法
*
* @access public
* @param string $email 需要验证的邮件地址
*
* @return bool
*/
function is_email($user_email)
{
$chars = "/^([a-z0-9+_]|\\\\\\\\-|\\\\\\\\.)+@(([a-z0-9_]|\\\\\\\\-)+\\\\\\\\.)+[a-z]{2,6}\\\\$/i";
if (strpos($user_email, '@') !== false && strpos($user_email, '.') !== false)
{
if (preg_match($chars, $user_email))
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
/**
* 验证输入的手机号码是否合法
*
* @access public
* @param string $mobile_phone
* 需要验证的手机号码
*
* @return bool
*/
function is_mobile_phone ($mobile_phone)
{
$chars = "/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$|17[0-9]{1}[0-9]{8}$/";
if(preg_match($chars, $mobile_phone))
{
return true;
}
return false;
}
/**
* 检查是否为一个合法的时间格式
*
* @access public
* @param string $time
* @return void
*/
function is_time($time)
{
$pattern = '/[\\\\d]{4}-[\\\\d]{1,2}-[\\\\d]{1,2}\\\\s[\\\\d]{1,2}:[\\\\d]{1,2}:[\\\\d]{1,2}/';
return preg_match($pattern, $time);
}
本文作者
:
admin
@
邮箱
版权声明
除非注明,本文由 admin 原创编译
转载请注明出处:
http://wdz6.cn/post/62.html