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/zh-hant/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

發表回復

登錄後才能評論