搜索结果

  • 获取客户端IP

    // 获取IPfunction getIp(){ $ip = false; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']); if($ip){ array_unshift($ips, $ip); $ip = FALSE; } for ($i = 0; $i < count($ips);

  • 字符串过滤 , 截取替换敏感字符

    /** * 字符串过滤 , 截取替换敏感字符 * @ param $string * @ return mixed */function safe_replace($string) { if(empty($string)) { return $string; } $string = str_replace('%20','',$string); $string = str_replace('%27','',$string); $string = str_replace('%2527','',$string); $string = str_replace('*','',$string); $str

  • 生成一串随机字符串

    /** * 生成一串随机字符串 * @ param int $length 位数 * @ return string */function generate_str_rand( $length = 8 ) { // 密码字符集,可任意添加你需要的字符 $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $password = ''; for ( $i = 0; $i < $length; $i++ ){ // 这里提供两种字符获取方式 // 第一种是使用 substr 截取$chars中的任

  • 目录操作相关函数

    1 删除文件/** * 删除文件 * @ param string $filename 要删除的文件名称 * @ return bool 删除成功返回true,删除失败返回false */function delFile($filename){ if(file_exists($filename)){ return unlink($filename); } return false;}2 创建目录/** * 作用:创建目录, 存在不创建,不存在就创建 * @ param string $path 路径 * @ return bool */function createDir($path){ //

  • 加密函数和解密函数

    1 加密函数/** * 作用:加密函数 * @ param string $txt 需要加密的字符串 * @ param string $key 密钥 * @ return string 返回加密结果 * MD5_KEY 是自己在配置文件中定义的KEY */function encrypt($txt, $key = ''){ if(empty($txt)){ return $txt; } if(empty($key)){ $key = md5(MD5_KEY); } $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01

  • 截取富文本中的其中一部分

    /** * 将富文本中文字截取其中的一部分 * @param $content * @return string */function html_substr_content($content,$length=100){ $content = htmlspecialchars_decode($content); //把一些预定义的 HTML 实体转换为字符 $content = str_replace(" ", "", $content); //将空格替换成空 $content = strip_tags($content); //函数剥去字符串中的 HTML、XML 以及 PHP 的标签,获取

  • 删除数组中的空数据

    function where_data($data){ foreach ($data as $k => $v) { if (empty($v) && $v !='0') { unset($data[$k]); } } return $data;}

  • 生成 n 位数的随机验证码

    function random($length = 6 , $numeric = 0) { PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000); if($numeric) { $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1)); } else { $hash = ''; $chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz'; $max

  • 递归循环某目录下的子目录及文件并输出

    function tree($dir,$level=1){ $fh=opendir($dir);//打开目录 while($dirname=readdir($fh)){//循环读取当前目录下的子目录及文件 if($dirname == '.' || $dirname == '..'){ continue; } echo "|".str_repeat('-',$level).$dirname;//目录名或文件名,str_repeat("|-",$num);//把字符串重复指定的次数 echo '<br>'; if(is_dir($dir. '/' .$dirname)){//如果是目

  • php记录日志信息到文件中

    // 在测试代码时,需要了解代码执行情况,而这中执行时在后台运行的,前台无法知道是否运行正常,在这种情况下,我们一般用写日志的形式来调试代码。 function logResult($str='') { $fp = fopen("log.txt","a"); flock($fp, LOCK_EX) ; fwrite($fp,"执行日期:".strftime("%Y%m%d%H%M%S",time())."\n".$str."\n"); flock($fp, LOCK_UN); fclose($fp); } //函数logResult()记录执行时间,参数$str自定义,执行时会将运行日志写入到

  • php强制下载文件

    //有时我们不想让浏览器直接打开文件,如PDF文件,而是要直接下载文件,那么以下函数可以强制下载文件,函数中使用了application/octet-stream头类型 function download($filename) { if ((isset($filename))&&(file_exists($filename))){ header("Content-length: ".filesize($filename)); header('Content-Type: application/octet-stream'); header('Content-Disposition

  • php获取当前页面的完整url

    PHP获取当前页面的完整url,如:"http://www.pengxb.com/article/23"//以下函数可以获取当前页面的URL,不管是http还是https function curPageURL() { $pageURL = 'http'; if (!empty($_SERVER['HTTPS'])) {$pageURL .= "s";} $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"]

  • curl请求函数

    1.封装请求函数if(!function_exists('curl_request')){ //发送curl请求 function curl_request($url, $type = false, $params = [], $https=false) { //调用curl_init() 初始化请求 $ch = curl_init($url); //调用curl_setopt()设置请求选项 if($type){ //true 发送post请求 false 默认发送get请求 //post请求 设置请求方式 curl_setopt($ch, CURLOPT_POST, true); //设置

  • TP5跨域请求

    1 跨域请求简介后台接口模块 adminapi,用于对前后端分离项目提供接口服务,会涉及到跨域问题。2.处理预检请求跨域情况下,客户端先发送 options 预检请求到接口服务端,接口服务端收到预检请求之后,需要对预检请求进行处理,处理方法是在【根目录/public/index.php】入口文件中,增加如下代码来处理跨域预检请求# 跨域时,前台先发送预检请求到后台,后台处理完成后,前台再发送跨域请求到后台。if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){ //允许的源域名 header("Access-Control-Allow-Origin: *");

  • Composer安装和使用

    1 简介Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们,它好比是nodejs中的npm,很轻松一个命令就可以把他人优秀的代码用到我们的项目中来,而且很容易管理依赖关系,更新删除等操作也很轻易的实现。2 相关链接 网址 备注 https://getcomposer.org/ 英文官网 https://www.phpcomposer.com/ 中国镜像网 https://github.com/composer/composer github地址 https://packagist.org/ 安装包列表 https://docs.php

  • 是否移动端访问访问

    function isMobile(){ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) return true; // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { // 找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } // 脑残法,判断手机发送的客户端标志,兼容性有待提高 if (is

  • PHP验证手机号码正则表达式

    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;} // 验证手机号码public function checkMobile($mobile){ // 验证中国大陆手机号码格式 $isMobileNumber = preg_match('

  • 验证输入的邮件地址是否合法

    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; }}

  • 在八艾云虚拟主机部署TP5项目

    步骤1:首先,登录八艾云的控制台,然后查看FTP连接信息,如下:步骤2:接着,通过FTP软件连接虚拟主机,并将项目代码文件上传到虚拟主机的wwwroot目录下,如下:步骤3:在上传代码完成之后,接着返回虚拟主机的后台,然后查看数据库连接信息,如下:步骤4:接着,返回ftp,然后把wwwroot/config/database.php文件下载到本地,然后在该文件中修改数据库的连接信息,修改完成之后,将该文件放回虚拟主机的wwwroot/config目录下,如下:步骤5:接着,返回虚拟主机的后台,然后设置PHP的版本,如下:步骤6:接着,设置运行目录,如下:步骤7:接着,设置默认首页,如下:步骤8