php有意思的代码效果(php网站能实现什么效果)

本文目录一览:

解释一段PHP代码意思!重金

?php

function DeCode($string,$operation,$key=”)

{

$key=md5($key); //md5函数加密一下

$key_length=strlen($key); //字符串长度

$string=$operation==’D’?base64_decode($string):substr(md5($string.$key),0,8).$string; //如果变量$operation等于字符D,对使用 MIME base64 编码的数据进行解码

$string_length=strlen($string); //字符串长度

$rndkey=$box=array(); //声明两个数组

$result=”; //声明字符

for($i=0;$i=255;$i++) //循环255

{

$rndkey[$i]=ord($key[$i%$key_length]); //ASCII码

$box[$i]=$i;

}

//以下效果都是一样的,这个算法没有仔细研究过

for($j=$i=0;$i256;$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==’D’)

{

if(substr($result,0,8)==substr(md5(substr($result,8).$key),0,8))

{

return substr($result,8);

}

else

{

return”;

}

}

else

{

return str_replace(‘=’,”,base64_encode($result));

}

}

?

这个php代码表示什么意思?

大括号在这里起到变量解析的作用。

举个例子,

$flower = “rose”;

echo “give me ${flower}s.” //输出give me roses.

echo “give me $flowers.” //由于没有flowers这个变量,所以不输出。

不过搂主给的那个例子,在这里看不到变量解析的效果,和普通的变量没什么区别。

不给分的搂主态度比较恶劣,拉出去打四十大板……

请教一个PHP代码的意思

第一行:

date()功能:

返回将整数 timestamp(时间戳) 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。

那么date(“m”)表示获得当前的月份,date(“d”)当天在一月中是第几天,date(“d”)+1及明天的天数,date(“y”)获得年份。

mktime()功能:

根据给出的参数返回 Unix 时间戳。时间戳是一个长整数,包含了从 Unix 纪元(January 1

1970 00:00:00 GMT)到给定时间的秒数。参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。

如此,mktime(0,0,0,date(“m”),date(“d”)+1,date(“y”))就表示明天的时间戳,就是一串整数,貌似是从1970 年 1 月 1 日到‘明天’的秒数,具体记不清了,详细可以查阅php手册。

第二行:

.date(“y/m/d”,$tomorrow)

仍然是date()函数,传入的第一个参数表示时间结果输出的样式,”y/m/d”及“年/月/日”样式。第二个参数及从第一行计算获得的明天的时间戳。

echo “明天是 “.date(“y/m/d”,$tomorrow);

输出 “明天是 某年/某月/某日”

    都是一些基础php时间处理的功能函数,建议下载一个php手册,里面像字典一样没个都将的很详细。

推荐php手册现在地址:

Php点赞效果的制作代码+解析

数据库设计

先准备两张表,pic表保存的是图片信息,包括图片对应的名称、路径以及图片“赞”总数,pic_ip则记录用户点击赞后的IP数据。

CREATE TABLE IF NOT EXISTS `pic` ( 

  `id` int(11) NOT NULL AUTO_INCREMENT, 

  `pic_name` varchar(60) NOT NULL, 

  `pic_url` varchar(60) NOT NULL, 

  `love` int(11) NOT NULL DEFAULT ‘0’, 

  PRIMARY KEY (`id`) 

) ENGINE=MyISAM  DEFAULT CHARSET=utf8; 

 

CREATE TABLE IF NOT EXISTS `pic_ip` ( 

  `id` int(11) NOT NULL AUTO_INCREMENT, 

  `pic_id` int(11) NOT NULL, 

  `ip` varchar(40) NOT NULL, 

  PRIMARY KEY (`id`) 

) ENGINE=MyISAM  DEFAULT CHARSET=utf8

index.php

在index.php中,我们通过PHP读取pic表中的图片信息并展示出来,结合CSS,提升页面展示效果。

?php 

     include_once(“connect.php”); 

     $sql = mysql_query(“select * from pic”); 

     while($row=mysql_fetch_array($sql)){ 

         $pic_id = $row[‘id’]; 

         $pic_name = $row[‘pic_name’]; 

         $pic_url = $row[‘pic_url’]; 

         $love = $row[‘love’]; 

     ? 

     liimg src=”images/?php echo $pic_url;?” alt=”?php echo $pic_name;?”pa href=”#”  

title=”赞”class=”img_on” rel=”?php echo $pic_id;?”?php echo $love;?/a/p/li 

 ?php }?

CSS中,我们将定义鼠标滑向和离开红心按钮的动态效果,并定位按钮的位置。

.list{width:760px; margin:20px auto} 

.list li{float:left; width:360px; height:280px; margin:10px; position:relative} 

.list li p{position:absolute; top:0; left:0; width:360px; height:24px; line-height:24px;  

background:#000; opacity:.8;filter:alpha(opacity=80);} 

.list li p a{padding-left:30px; height:24px; background:url(images/heart.png) no-repeat  

4px -1px;color:#fff; font-weight:bold; font-size:14px} 

.list li p a:hover{background-position:4px -25px;text-decoration:none}

jQuery代码

当用户点击自己喜欢的图片上的红心按钮时,向后台love.php发送ajax请求,请求响应成功后,更新原有的数值

$(function(){ 

    $(“p a”).click(function(){ 

        var love = $(this); 

        var id = love.attr(“rel”); //对应id 

        love.fadeOut(300); //渐隐效果 

        $.ajax({ 

            type:”POST”, 

            url:”love.php”, 

            data:”id=”+id, 

            cache:false, //不缓存此页面 

            success:function(data){ 

                love.html(data); 

                love.fadeIn(300); //渐显效果 

            } 

        }); 

        return false; 

    }); 

});

love.php

后台love.php接收前端的ajax请求,根据提交的图片id值,查找IP表中是否已有该用户ip的点击记录,如果有则告诉用户已“赞过了”,反之,则进行一下操作:

1、更新图片表中对应的图片love字段值,将数值加1。

2、将该用户IP信息写入到pic_ip表中,用以防止用户重复点击。

3、获取更新后的赞值,即赞该图片的用户总数,并将该总数输出给前端页面。

include_once(“connect.php”); //连接数据库 

 

$ip = get_client_ip(); //获取用户IP 

$id = $_POST[‘id’]; 

if(!isset($id) || empty($id)) exit; 

 

$ip_sql=mysql_query(“select ip from pic_ip where pic_id=’$id’ and ip=’$ip'”); 

$count=mysql_num_rows($ip_sql); 

if($count==0){ //如果没有记录 

    $sql = “update pic set love=love+1 where id=’$id'”; //更新数据 

    mysql_query( $sql); 

    $sql_in = “insert into pic_ip (pic_id,ip) values (‘$id’,’$ip’)”; //写入数据 

    mysql_query( $sql_in); 

    $result = mysql_query(“select love from pic where id=’$id'”); 

    $row = mysql_fetch_array($result); 

    $love = $row[‘love’]; //获取赞数值 

    echo $love; 

}else{ 

    echo “赞过了..”; 

}

我上传的附件中 数据库SQL 你可以直接建立test 数据库UTF8编码的,然后把SQL文件导入进去。修改一下connect.php中数据库的连接信息即可。

php里面有这样的代码 “” 麻烦解释下是什么意思,谢谢!

在PHP里,implode() 函数把数组元素组合为一个字符串。这句的意思是把$uptypes数组以逗号为分隔符分解成一个字符串关输出到页面。

比如:$uptypes=array(‘this’,‘is’,‘apple’);

implode(‘, ‘,$uptypes)则输出this,is,apple

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/190743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-30 09:06
下一篇 2024-11-30 09:06

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python爬虫可以爬哪些网站

    Python是被广泛运用于数据处理和分析领域的编程语言之一。它具有易用性、灵活性和成本效益高等特点,因此越来越多的人开始使用它进行网站爬取。本文将从多个方面详细阐述,Python爬…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • 仓库管理系统代码设计Python

    这篇文章将详细探讨如何设计一个基于Python的仓库管理系统。 一、基本需求 在着手设计之前,我们首先需要确定仓库管理系统的基本需求。 我们可以将需求分为以下几个方面: 1、库存管…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • 怎么写不影响Python运行的长段代码

    在Python编程的过程中,我们不可避免地需要编写一些长段代码,包括函数、类、复杂的控制语句等等。在编写这些代码时,我们需要考虑代码可读性、易用性以及对Python运行性能的影响。…

    编程 2025-04-29
  • 北化教务管理系统介绍及开发代码示例

    本文将从多个方面对北化教务管理系统进行介绍及开发代码示例,帮助开发者更好地理解和应用该系统。 一、项目介绍 北化教务管理系统是一款针对高校学生和教职工的综合信息管理系统。系统实现的…

    编程 2025-04-29

发表回复

登录后才能评论