搜索结果

  • 获取请求IP地址

    if (!function_exists('get_server_ip')) { /** * 获取服务端IP地址 * @return string 返回IP地址 */ function get_server_ip() { if (isset($_SERVER)) { if ($_SERVER['SERVER_ADDR']) { $server_ip = $_SERVER['SERVER_ADDR']; } else { $server_ip = $_SERVER['LOCAL_ADDR']; } } else { $server_ip = getenv('SERVER_ADDR'); } re

  • 获取随机编码

    if (!function_exists('get_random_str')) { /** * 生成随机字符串 * @param int $length 生成长度 * @param int $type 生成类型:0-小写字母+数字,1-小写字母,2-大写字母,3-数字,4-小写+大写字母,5-小写+大写+数字 * @return string 返回结果 */ function get_random_str($length = 8, $type = 0) { $a = 'abcdefghijklmnopqrstuvwxyz'; $A = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

  • 字节转换函数

    if (!function_exists('format_bytes')) { /** * 将字节转换为可读文本 * @param int $size 字节大小 * @param string $delimiter 分隔符 * @return string 返回结果 */ function format_bytes($size, $delimiter = '') { $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB'); for ($i = 0; $size >= 1024 && $i < 6; $i++) { $siz

  • 导出Excel函数

    if (!function_exists('export_excel')) { /** * 数据导出Excel(csv文件) * @param string $file_name 文件名称 * @param array $tile 标题 * @param array $data 数据源 */ function export_excel($file_name, $tile = [], $data = []) { ini_set('memory_limit', '512M'); ini_set('max_execution_time', 0); ob_end_clean(); ob_start()

  • DES加解密函数

    if (!function_exists('decrypt')) { /** * DES解密 * @param string $data 解密字符串 * @param string $key 解密KEY * @return mixed */ function decrypt($data, $key = 'p@ssw0rd') { return openssl_decrypt($data, 'des-ecb', $key); }}if (!function_exists('encrypt')) { /** * * @param string $data 加密字符串 * @param string

  • 日期格式转换

    if (!function_exists('datetime')) { /** * 时间戳转日期格式 * @param int $time 时间戳 * @param string $format 转换格式(默认:Y-m-d h:i:s) * @return false|string 返回结果 */ function datetime($time, $format = 'Y-m-d H:i:s') { if (empty($time)) { return '--'; } $time = is_numeric($time) ? $time : strtotime($time); return da

  • CURL网络地址

    if (!function_exists('curl_get')) { /** * curl请求(GET) * @param string $url 请求地址 * @param array $data 请求参数 * @return bool|string 返回结果 */ function curl_get($url, $data = []) { // 处理get数据 if (!empty($data)) { $url = $url . '?' . http_build_query($data); } $curl = curl_init(); curl_setopt($curl, CURLOPT

  • 请求URL地址

    if (!function_exists('curl_url')) { /** * 获取当前访问的完整URL * @return string 返回结果 */ function curl_url() { $pageURL = 'http'; if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === 'on') { $pageURL .= "s"; } $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAM

  • 数组属性函数

    if (!function_exists('array_key_value')) { /** * 获取数组中某个字段的所有值 * @param $arr 数组 * @param string $name 字段值 * @return array */ function array_key_value($arr, $name = "") { $return = array(); if ($arr) { foreach ($arr as $key => $val) { if ($name) { $return[] = $val[$name]; } else { $return[] = $key

  • 数组与数组合并

    if (!function_exists('array_merge_multiple')) { /** * 多维数组合并 * @param array $array1 数组1 * @param array $array2 数组2 * @return array 返回合并数组 */ function array_merge_multiple($array1, $array2) { $merge = $array1 + $array2; $data = []; foreach ($merge as $key => $val) { if (isset($array1[$key]) &&

  • XML转换函数

    if (!function_exists('array2xml')) { /** * 数组转XML * @param array $arr 数据源 * @param bool $ignore XML解析器忽略 * @param int $level 层级 * @return string|string[]|null 返回结果 */ function array2xml($arr, $ignore = true, $level = 1) { $s = $level == 1 ? "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\r\n&

  • 消息数组函数

    if (!function_exists('message')) { /** * 消息数组函数 * @param string $msg 提示语 * @param bool $success 是否成功 * @param array $data 结果数据 * @param int $code 错误码 * @return array 返回消息对象 */ function message($msg = "操作成功", $success = true, $data = [], $code = 0) { $result = ['msg' => $msg, 'data' => $data, '

  • PHP环境:配置虚拟目录和配置域名解析

    1 配置虚拟目录1) 找到PHPStudy安装目录中的PHPTutorial\Apache\conf\vhosts.conf文件;2) 打开vhosts.conf文件,并在文件最后添加如下的配置信息:<VirtualHost _default_:80> DocumentRoot "D:\wamp\PHPTutorial\WWW" #指定虚拟目录路径 ServerName www.cyh.com #虚拟目录绑定的域名 DirectoryIndex index.php #默认首页 <Directory "D:\wamp\PHPTutorial\WWW"> #访问权限设置 O

  • 使用宝塔的Let's Encrypt 免费证书

    1)首先,点击站点的【设置】按钮2)接着,点击【SSL】,然后再点击【Let‘s Encrypt】,接着点击【文件验证】,然后勾选域名,并点击【申请】,操作如下:3)接着,等待一段时间,让其自动生成证书,如下:4)接着,一段时间之后,得到的结果如下,然后直接点击保存按钮即可5)接着,返回站点列表,如下:6)接着,访问域名,结果如下:注意:一般这个证书是3个月(即90天),到期之后,需要手动续签,也可以在宝塔设置自动续签

  • 使用 file_get_contents 获取网站信息报错

    1 问题描述在用file_get_contents函数采集网站时,有时会遇到明明用浏览器可以看,但就是采不到内容的问题,并且报错【使用 file_get_contents 获取网站信息报错failed to open stream: HTTP request failed!】2 问题分析这很有可能是服务器上做了设置,根据 Useragent判断是否为正常的浏览器请求,默认PHP的filegetcontents函数是不发送ua的,如果要采集这样的网站,我们就要 让PHP模拟浏览器发送UA,这样对方的服务器就会以为我们是用浏览器是浏览,而返回正常的内容。 发送UA方法很简单,在使用file_get

  • 邮箱正则表达式

    $pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";

  • layui获取checkbox复选框值

    layui.use('form', function(){ var form = layui.form, $ = layui.$; //各种基于事件的操作。 form.on('submit(*)', function(data){ //将页面全部复选框选中的值拼接到一个数组中 var arr_box = []; $('input[type=checkbox]:checked').each(function() { arr_box.push($(this).val()); }); //数组 console.log(arr_box); // ["董先生的CSDN"] return false; /

  • 获取后台全选选中的ID值

    var ids = [];$("[name='ids[]']").each(function() { if ($(this).prop("checked") == true) { ids.push($(this).val()); }});

  • 让PHP以root权限执行系统命令2

    1 问题描述前台功能中,点击按钮后,需要后台执行脚本,更新数据。但是在页面点击后,数据没有更新。2 问题排查(1) 程序中使用shell_exec();执行脚本命令。确认函数是否禁用,在php的配置中,修改禁用函数配置,PHP默认禁用shell_exec()、exec()等函数(2) 修改禁用函数后,脚本执行仍然没有反应。排查文件权限,发现web程序的执行者是www用户,脚本文件的权限是root用户,查看php的运行着身份是www,修改php的运行用户身份。问题解决3 修改PHP配置// 修改PHP运行用户// 1.打开配置文件,然后将用户改为root用户# vi /www/server/ph