首页 > 后端开发 > 正文

请帮看一下PHP源代码,要怎么弄才能实现输出的文字换成红色

2024-08-19 00:45:04 | 我爱编程网

小编今天整理了一些请帮看一下PHP源代码,要怎么弄才能实现输出的文字换成红色相关内容,希望能够帮到大家。

本文目录一览:

请帮看一下PHP源代码,要怎么弄才能实现输出的文字换成红色

有个PHP的动态加解密函数代码,求大神帮忙写一个对接这个PHP动态加解密的加解密的源码谢谢、

<?php
/**
 * 加密函数
 * @param  string  $string    明文 或 密文  
 * @param  string  $operation DECODE表示解密,其它表示加密  
 * @param  string  $key       密匙  
 * @param  integer $expiry    密文有效期
 */
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {  
    $ckey_length = 4;  
    $key = md5($key);   
    $keya = md5(substr($key, 0, 16));    
    $keyb = md5(substr($key, 16, 16));   
    $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';  
    $cryptkey = $keya.md5($keya.$keyc);  
    $key_length = strlen($cryptkey);  
    $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;  
    $string_length = strlen($string);  
    $result = '';  
    $box = range(0, 255);  
    $rndkey = array();
    for($i = 0; $i <= 255; $i++) {  
        $rndkey[$i] = ord($cryptkey[$i % $key_length]);  
    }
    for($j = $i = 0; $i < 256; $i++) {  
        $j = ($j + $box[$i] + $rndkey[$i]) % 256;  
        $tmp = $box[$i];  
        $box[$i] = $box[$j];  
        $box[$j] = $tmp;  
    }  
    for($a = $j = $i = 0; $i < $string_length; $i++) {  
        $a = ($a + 1) % 256;  
        $j = ($j + $box[$a]) % 256;  
        $tmp = $box[$a];  
        $box[$a] = $box[$j];  
        $box[$j] = $tmp;   
        $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));  
    }  
    if($operation == 'DECODE') {  
        if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {  
            return substr($result, 26);  
        } else {  
            return '';  
        }  
    }else {
        return $keyc.str_replace('=', '', base64_encode($result));  
    }  
}
?>

我们公司常用的加密 解密函数

望采纳Thx

请帮看一下PHP源代码,要怎么弄才能实现输出的文字换成红色

请帮看一下PHP源代码,要怎么弄才能实现输出的文字换成红色

<?php
error_reporting(0); 
header("content-type:image/jpeg");
mb_internal_encoding("UTF-8");
$name = $_GET['name']?$_GET['name']:"H";
$namea = $_GET['namea']?$_GET['namea']:"b";
$im = imagecreatetruecolor(640, 474);
$bg = imagecreatefromjpeg('b.jpg');
imagecopy($im,$bg,0,0,0,0,640,474);
imagedestroy($bg);
$black = imagecolorallocate($im, 30, 30, 30);
$red = imagecolorallocate($im, 255, 0, 0);
$text = $name;
$font = '../font/xjl.ttf';
imagettftext($im, 15, 0, 180, 270, $black, $font, $text);

$font = '../font/xjl.ttf';
$len = mb_strlen($namea,"UTF-8");
$left_x = (640-$len*40)/2;
imagettftext($im, 30, 0, $left_x, 330, $red, $font, $namea);

$showtime=date("Y年-m月-d日");
$font = '../font/xjl.ttf';
imagettftext($im, 10, 0, 380, 400, $black, $font, $showtime);

imagejpeg($im);
imagedestroy($im);
?>

请帮看一下PHP源代码,要怎么弄才能实现输出的文字换成红色我爱编程网

PHP实现一个账号同一时间只能一人登陆,给出源代码!

我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP实现一个账号同一时间只能一人登陆,给出源代码!的相关内容。

对于一个帐号在同一时间只能一个人登录,可以通过下面的方法实现:

1 .在用户登录时,把用户添加到一个ArrayList中

2 .再次登录时查看ArrayList中有没有该用户,如果ArrayList中已经存在该用户,则阻止其登录

3 .当用户退出时,需要从该ArrayList中删除该用户,这又分为三种情况

① 使用注销按钮正常退出

② 点击浏览器关闭按钮或者用Alt+F4退出,可以用javascript捕捉该页面关闭事件,

执行一段java方法删除ArrayList中的用户

③ 非正常退出,比如客户端系统崩溃或突然死机,可以采用隔一段时间session没活动就删除该session所对应的用户来解决,这样用户需要等待一段时间之后就可以正常登录。

在LoginAction中定义:

// 用来在服务器端存储登录的所有帐号

public static List logonAccounts;

login() 登录方法中:

// 设置session不活动时间为30分

request.getSession().setMaxInactiveInterval(60*30);

if(logonAccounts==null){

logonAccounts = new ArrayList();

}

// 查看ArrayList中有没有该用户

for (int i = 0; i < logonAccounts.size(); i++) {

Account existAccount = (Account)logonAccounts.get(i);

if(account.getAccountId().equals(existAccount.getAccountId())){

return "denied";

}

}

// 在用户登录时,把sessionId添加到一个account对象中

// 在后面 ③ 需要根据此sessionId删除相应用户

account.setSessionId(request.getSession().getId());

// 该用户保存到ArrayList静态类变量中

logonAccounts.add(account);

return "login";

① 使用注销按钮正常退出

logout() 退出方法中:

if(logonAccounts==null){

logonAccounts = new ArrayList();

}

// 删除ArrayList中的用户 ⑴

for (int i = 0; i < logonAccounts.size(); i++) {

Account existAccount = (Account)logonAccounts.get(i);

if(account.getAccountId().equals(existAccount.getAccountId())){

logonAccounts.remove(account);

}

}

② 点击浏览器关闭按钮或者用Alt+F4退出:

在后台弹出一个窗口,在弹出窗口中删除ArrayList中的用户

function window.onbeforeunload(){

// 是否通过关闭按钮或者用Alt+F4退出

// 如果为刷新触发onbeforeunload事件,下面if语句不执行

if (event.clientX>document.body.clientWidth && event.clientY<0||event.altKey){

window.open('accountUnbound.jsp','',

'height=0,width=0,top=10000,left=10000')

}

}

accountUnbound.jsp : 弹出窗口中删除ArrayList中的用户

<%

Account account = (Account) request.getSession().getAttribute("account");

if(account != null){

if(LoginAction.logonAccounts==null){

LoginAction.logonAccounts = new ArrayList();

}

// 删除ArrayList中的用户——下面代码和上面的 ⑴ 处一样

for (int i = 0; i < logonAccounts.size(); i++) {

Account existAccount = (Account)logonAccounts.get(i);

if(account.getAccountId().equals(existAccount.getAccountId())){

logonAccounts.remove(account);

}

}

}

%>

为了保证上面代码可以执行完毕,3秒后关闭此弹出窗口(也位于accountUnbound.jsp中)

<script>

setTimeout("closeWindow();",3000);

function closeWindow(){

window.close();

}

</script>

③ 使LoginAction 实现implements HttpSessionListener,并实现sessionCreated,sessionDestroyed方法,在sessionDestroyed中删除ArrayList中的用户(用户超过30分钟不活动则执行此方法)

public void sessionDestroyed(HttpSessionEvent event) {

// 取得不活动时的sessionId,并根据其删除相应logonAccounts中的用户

String sessionId = event.getSession().getId();

for (int i = 0; i < logonAccounts.size(); i++) {

Account existAccount = (Account)logonAccounts.get(i);

if(account.getSessionId().equals(existAccount.getSessionId())){

logonAccounts.remove(account);

}

}

}

注:

对于上面的,由于弹出窗口很容易被防火墙或者安全软件阻拦,造成无法弹出窗口,从而短时间不能登录,这种情况可以用AJAX来代替弹出窗口,同样在后台执行删除用户的那段代码,却不会受到防火墙限制:

<script>

// <![CDATA[

var http_request = false;

function makeRequest(url) {

http_request = false;

if (window.XMLHttpRequest) { // Mozilla, Safari,...

http_request = new XMLHttpRequest();

if (http_request.overrideMimeType) {

http_request.overrideMimeType('text/xml');

}

} else if (window.ActiveXObject) { // IE

try {

http_request = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

http_request = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {

}

}

}

if (!http_request) {

alert('Giving up :( Cannot create an XMLHTTP instance');

return false;

}

http_request.onreadystatechange = alertContents;

http_request.open('GET', url, true);

http_request.send(null);

}

function alertContents() {

if (http_request.readyState == 4) {

if (http_request.status == 200) {

window.close();

} else {

alert('There was a problem with the request.');

}

}

}

function window. onbeforeunload() {

makeRequest ('accountUnbound.jsp');

}

//]]>

</script>

以上就是我爱编程网小编为大家带来的内容了,想要了解更多相关信息,请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“请帮看一下PHP源代码,要怎么弄才能实现输出的文字换成红色”相关推荐
PHP中怎么用代码实现文件下载
PHP中怎么用代码实现文件下载

php实现文件下载代码~echo"&lt;ahref='$file'&gt;".$file."&lt;/a&gt;"需要绝对路径,而且注意目录是不可以下载的。&lt;?php$root="d:/";if(is_dir($root)){$openHandle=opendir($root);while(false!==($file=readdir($openHandle)))

2024-08-07 23:15:00
php实现文件安全下载的代码怎么用
php实现文件安全下载的代码怎么用

php实现文件安全下载的代码怎么用你可以建立一个函数如下:functiondownload($fileName){Header("content-type:application/octet-stream");Header("content-disposition:attatchment;filename:".$fileName.".torrent");if(file_e

2024-09-17 08:47:00
PHP 处理图片后颜色发生了变化 请帮吗给看下
PHP 处理图片后颜色发生了变化 请帮吗给看下

PHP处理图片后颜色发生了变化请帮吗给看下我不确定你的原因,但是我猜测,可能是PHP的createjpeg方法色彩不够,所以他还有个函数imagecreatetruecolor()。是创建真彩画板,我图片处理都用这个函数,效果没任何变化,前提是图片质量参数大于80,方法是1.创建真彩画板imagecreatetruecolor()2.复制图片到画板imagecopy()3.生成

2024-09-15 10:04:16
java里怎么才能做到 运行程序里提示"请输入数字",然后我输入数字,到以下的程序!
java里怎么才能做到 运行程序里提示"请输入数字",然后我输入数字,到以下的程序!

java里怎么才能做到运行程序里提示"请输入数字",然后我输入数字,到以下的程序!//定义键盘输入流BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));System.out.println("请输入数字:");str=br.readLine();System.out.println("你输入的数字是:"+st

2024-06-09 03:04:01
帮忙看一下这个php代码,为什么会重复出现“用户名已存在”或者“用户邮箱已经注册”?
帮忙看一下这个php代码,为什么会重复出现“用户名已存在”或者“用户邮箱已经注册”?

PHP函数封装分分钟帮你实现数据脱敏处理,支持手机、邮箱、身份证号中文字符串!PHP函数封装轻松实现数据脱敏处理,适用于手机、邮箱、身份证号等中文字符串由技术博主极客小俊撰写数据脱敏是一种开发中常用的技术,它旨在隐藏重要数据,确保在不安全环境中保护敏感信息。简单来说,就是通过特定规则处理数据,使其难以识别,从而达到保护隐私的目的。在开发中,涉及用户个人信息、金融信息

2024-12-30 01:43:25
怎么才能拿到phpchina邀请码,有多的给个!!!
怎么才能拿到phpchina邀请码,有多的给个!!!

怎么才能拿到phpchina邀请码,有多的给个!!!首先:进入PHPChian的论坛(可以以游客的身份进去),然后进入PHPChina论坛的公告区,找到发布PHPChina官方群的那个帖子,在那几个群里随便找到一个群,然后进入那个群,进去后直接私聊管理员要邀请码就行了。PHPMySQL创建数据库和表菜鸟问题1,die的作用是你所想的那样,输出里面的内容,并结束程序。2,'creat

2024-12-28 00:36:14
php的成员方法中可以写自定义函数么(1、自定义函数:传入一个一维索引数组,要求3个元素换一行,循环输出(用php做求代码,各位大神帮帮忙))
php的成员方法中可以写自定义函数么(1、自定义函数:传入一个一维索引数组,要求3个元素换一行,循环输出(用php做求代码,各位大神帮帮忙))

php的成员方法中可以写自定义函数么可以啊,比如:&lt;?phpclassfd{public$a;public$b;publicfunctiondissum(){return$this-&gt;a+$this-&gt;b;}}$obj=newfd();$obj-&gt;a=2;$obj-&gt;b=3;echo($obj-&gt;di

2024-09-28 06:52:32
php输出数据,每五条隔行换色,怎么做?
php输出数据,每五条隔行换色,怎么做?

php输出数据,每五条隔行换色,怎么做?for($i=0;$i&lt;30;$i++){if($i&gt;0&amp;&amp;$i%5==0){echo'&lt;br/&gt;';//实现换行}//实现变色if(ceil($i/5)%2==1){//输出蓝色}elseif(ceil($i/5)%2==0){//输出棕色}}php怎样来建

2024-10-21 16:31:59