本站即日起正式部署SSL证书启用https安全连接, 联系站长:416326801#qq.com(#改成@)

Latest from the blog

帝国CMS上传附件保留原文件名

标签: PHP ecms

修改帝国CMS上传文件函数DoTranFile

修改函数ReturnDoTranFilename,打开文件/e/class/connect.php

找到function ReturnDoTranFilename($file_name,$classid)

保留原文件名.png


修改后的代码

//上传文件
function DoTranFile($file, $file_name, $file_type, $file_size, $classid, $ecms = 0) {
    global $public_r, $class_r, $doetran, $efileftp_fr;
    $classid = (int) $classid;
    //文件类型
    $r[filetype] = GetFiletype($file_name);
    // 上传附件保留原文件名
    $filename2 = str_replace($r[filetype], '', $file_name); //获得去掉后缀的文件名
    $mytype = array(".txt", ".rar", ".zip", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pdf"); //定义需要保留原名的文件类型
    //文件名
    $r[insertfile] = ReturnDoTranFilename($file_name, $classid);
    $r[filename] = $r[insertfile].$r[filetype];
    // 保留原文件名
    if( in_array($r[filetype], $mytype) ) {
        $r[filename] = $filename2."_".$r[insertfile].$r[filetype]; //将真实文件名加在随机码的前面中间以_分隔
    } else {
        $r[filename] = $r[insertfile].$r[filetype];
    }
    //日期目录
    $r[filepath] = FormatFilePath($classid, $mynewspath, 0);
    $filepath = $r[filepath] ? $r[filepath].'/' : $r[filepath];
    //存放目录
    $fspath = ReturnFileSavePath($classid);
    $r[savepath] = eReturnEcmsMainPortPath().$fspath['filepath'].$filepath; //moreport
    //附件地址
    $r[url] = $fspath['fileurl'].$filepath.$r[filename];
    //缩图文件
    $r[name] = $r[savepath]."small".$r[insertfile];
    //附件文件
    $r[yname] = $r[savepath].$r[filename];
    $r[tran] = 1;
    //验证类型
    if( CheckSaveTranFiletype($r[filetype]) ) {
        if( $doetran ) {
            $r[tran] = 0;
            return $r;
        } else {
            printerror('TranFail', '', $ecms);
        }
    }
    //上传文件
    $cp = @move_uploaded_file($file, $r[yname]);
    if( empty($cp) ) {
        if( $doetran ) {
            $r[tran] = 0;
            return $r;
        } else {
            printerror('TranFail', '', $ecms);
        }
    }
    DoChmodFile($r[yname]);
    $r[filesize] = (int) $file_size;
    //FileServer
    if( $public_r['openfileserver'] ) {
        $efileftp_fr[] = $r['yname'];
    }
    return $r;
}

Apache部署SSL证书配置https

标签: Apache

<VirtualHost *:443>
ServerAdmin yuli0927@126.com
php_admin_value open_basedir "/www_path/jishu8.cn:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/www_path/jishu8.cn/"
ServerName jishu8.cn
ServerAlias www.jishu8.cn

# 请注意修改真实文件路径
SSLEngine on
SSLCACertificateFile "/ssl_path/1_root_bundle.crt"
SSLCertificateFile "/ssl_path/2_jishu8.cn.crt"
SSLCertificateKeyFile "/ssl_path/3_jishu8.cn.key"

ErrorLog "/log_path/jishu8.cn-error_log"
CustomLog "/log_path/jishu8.cn-access_log" combined
</VirtualHost>

URL安全的字符串base64编码和解码

标签: PHP

// URL安全的字符串base64编码
function base64_encode_urlsafe($string) {
    $data = base64_encode($string);
    $data = str_replace(array('+', '/', '='), array('-', '_', ''), $data);
    return $data;
}

// URL安全的字符串base64解码
function base64_decode_urlsafe($string) {
    $data = str_replace(array('-', '_'), array('+', '/'), $string);
    $mod4 = strlen($data) % 4;
    if( $mod4 ) {
        $data .= substr('====', $mod4);
    }
    return base64_decode($data);
}

去掉微信昵称的emoji表情(PHP5.6)

标签: PHP Weixin

// 处理不可见字符 去掉EMOJI表情
function clearEmoji($char) {
// PHP 5.6已废弃preg_replace
//    $char = preg_replace("#\\\u[2def]([0-9a-f]{3})#ie", "", json_encode($char));
//    return json_decode($char, true);
    $str = preg_replace_callback('/./u', function (array $match) {
        return strlen($match[0]) >= 4 ? '' : $match[0];
    }, $str);
    return $str;
}

生成校验位(银行卡最后一位)

标签: PHP

** 注意:$s必须全部为数字

// 计算校验位
function encodeCode($s) {
    $a = $b = $c = $d = $e = 0;
    $s = str_split($s);
    $count = count($s);
    for( $i = 1; $i <= $count; $i++ ) {
        $sc = intval($s[$i - 1]);
        if( $i <= $count && $i % 2 == 0 ) {
            $a += $sc;
        } elseif( $i <= $count - 1 && $i % 2 == 1 ) {
            $b += $sc;
        }
    }
    $c = $a * 3;
    $d = $b + $c;
    if( $d % 10 == 0 ) {
        $e = $d - $d;
    } else {
        $e = $d + (10 - $d % 10) - $d;
    }
    return $e;
}

1 2 3 4 5 6 ... Next »... Last »