一些小東西有時候可能用得上!
1.得到客戶端IP位址
function getip(){ $tip = split(",", $tip = split(",", $tip = split(",", $tip $cip = $tip[0];
}
else
$cip = $ ip));
}
2.session控制問 getip();
/* 短期而言,系統預設需要支援cookie. */
if (!isset($_COOKIE) OOKIE['userid'];
if (!isset($_COOKIE['sid'])) return false;
以上返回false意味著用戶沒有登陸,頁面將跳轉至首頁(登陸頁). */
$query = "SELECT * FROM user WHERE query($query) ;
if ($row = $db->sql_fetchrow($result)){
* cookie傳送的sid和資料庫保存的不吻合 */
if ($row['lastloginip'] != $ip) return /* 是否要考慮 session的過期 問題呢? */
}
else return false; /* 沒有這個userid */
$ses ];
unset($row );
$islogin = true;
return true; */
function sesssion_end( $userid, $sid){
return true;
}
3.做選美? "Refresh:0;url=./"); //一秒刷新
?>
<script>alert('<?php <BR>require_once('mysql.php'); <BR>require_once ('functions.php'); <br>$db = new sql_db('localhost','root','','selectmm'); <br>$user_id = $_GET['user_id']; <> $ip = getip(); <BR>$deltime = time()-3600; //減去一小時 <BR>$sql = "delete from vote where time <1$time 🎜>$db->sql_query($sql); <br><br>$sql = "select ip from vote where ip='$ip' and user_id='$user_id'"; 過 <BR>$linkid=$db->sql_query($sql) or die(mysql_error()); <BR>$count=$db->sql_affectedrows(); <BR>if($count) <br>{ <br>echo "您已經投過票了!"; <BR>} <BR>else <BR>{ <BR>$sql = "update user set vote_count=vote_count 1 WHERE sqluser_id='$n_id'"; <BR>$count=$db->sql_affectedrows(); <BR>if($count) <BR>{ <BR> echo "成功投票! "; <BR> $sql = "insert into vote (`ip`,`user_id`,`time`) values ('$ip','$user_id','".time()."')";/ /投票成功就插入一筆記錄。 <BR> $db->sql_query($sql); <br><br>} <BR>else <BR>{ <BR> echo "投票失敗!"; <BR>} <br><br>} <BR>?>'); <BR>//history.back(); <BR></script>
4. smarty的搜尋程式
require_once('mysql.php');
$db = new sql_db('localhost','root','','','','',''new sql_db('localhost','root','','','','','' ');
require_once('functions.php');
require_once('session.php');
session_begin();
require('./Libs/Smarty.class .' );
$smarty = 新Smarty;
$title = "首頁";
$smarty->分配("islogin",$islogin);
$smarty->分配("islogin",$islogin);
$smarty->分配(「標題」 ,$標題);
$age=$_GET['age'];
$arr=explode(',',$age);
$y=date('Y ');
$md=日期('-m-d');
$begin=($y-$arr[1]).$md;
$end=($y-$ arr[0]) .$md;
$sql="select p.* from pic_info p,user u 其中p.user_id=u.user_id 和u.birthday 在'$begin' 和'$end' 之間分組u.user_id" ;
$link=$db->sql_query($sql) 或die(mysql_error());
$row = $db->sql_fetchrowset($link);
$ db->sql_freeresult() ;
$smarty->assign("pic",$row);
$smarty->display('index.tpl.htm');
?> ;
5.註冊程序
require('mysql.php');
$str=new sql_db('localhost','root','','serootmmmm ');
$METHOD = $_POST;
if (isset($METHOD['nickname']) && $METHOD['nickname'] != '')$nickname $METHOD['nickname'] != ''=$nickname $METHOD ;
else { echo "<script>alert("使用者暱稱不能為空。 ")</script>"; echo "<script>location="register.php"</script>"; }
if (isset($METHOD['password']) && strlen($METHOD['password '])>=6) $password = $METHOD['password'];
else { echo "<script>alert("密碼至少6位元")</script>"; echo ""; }
$password2 = $METHOD['password2'];
alert("兩次輸入密碼不一致")"; echo "<script>location="register.php"</script>"; }
if (isset($METHOD['name']) && $METHOD['name'] != '') $name = $METHOD['name'];
else { echo "<script>alert("使用者名稱無法為空白。")</script>" ; echo "<script>location="register.php"</script>"; }
$birthday=$METHOD['年'].$METHOD['月'].$METHOD['日'];
$stature = $METHOD['stature'];
$占星術= $METHOD['占星術』];
$METHOD['goodat'];
$work = $METHOD['work'];
$educate = $METHOD['educate'];
$address = $METHOD['address'];
$tel = $METHOD['tel'];
METHOD['email']) && $METHOD['email'] != '') $email = $METHOD['email'];
else {" echo "<script>alert(🎜> else {" echo "<script>alert(🎜>為空白) </script>"; echo "<script>location="register.php"</script>"; }
if (!eregi("^[0-9a-z.-_] @[0-9a -z.] .[a-z]$",$email)) { echo "<script>alert( "電子郵件格式不合法")</script>"; echo "<script>location="register.php"< /script>"; } <BR> $dian =$METHOD['dian']; <BR> if (isset($METHOD['myself']))$$& $METHOD[]]o = $METHOD['myself']; <BR> else { echo "<script>alert("用.....不能空")</script>"; echo "<script>location="register.php "</script>"; }
if(isset($METHOD['enounce'])&& $METHOD['enounce']!='')$enounce = $METHOD['enounce'];
(".....不能為空")"; echo "<script>location="register.php"</script>"; }
$query = 「 SELECT * FROM user WHERE nickname ='$nickname' or email='$email'”;
$result = $str->sql_query($query)or die(myno_error()); row = $str->sql_fetchrow($result))
{ echo "<script>alert("對不起,使用者已註冊")</script>"; echo "<script>location="register.php" </script>"; }
$password = md5($password);
$query = 「插入`用戶`(`暱稱`,`密碼`,`姓名`,`生日,``占星詞「插入`用戶`(`暱稱`,`密碼`,`姓名`,`生日」``占星占星` ,`血型`,`身材`,`擅長`,`工作`,`教育`,`家鄉`,`地址`,`電話`,`電子郵件`,`qq`,`dian`,`我自己` ,`說出`) VALUES('$暱稱','$密碼','$name ','$birthday','$astrology','$bloodtype','$stature','$goodat','$ work','$educate','$homeplace','$address','$tel ','$email','$qq','$dian','$myself','$enounce')";
if($str->sql_query($query))
$str->sql_close();
echo "<script>alert("恭喜你,並註冊成功")</script>";
echo "<script>location="login.php"</script>";
? >
6.提交參數JS 控制
echo "
7.在給同事做一個文字處理,兩個文件一個有7萬個記錄,開始用遞歸循環,php死了,後面用隊列解決了問題
if(($fp= fopen("1.txt","a "))===false)
{
die("開啟中檔案失敗") ; $data2=file("sports.txt") or die("開啟檔案失敗");
foreach($data1 as $data)
{
$x = split("[./]",$data);
$name = $x[count($x)-2];
$a[$name]['md5 ']=$data;
}
foreach($data2 as $data)
{
$x = split("[,./]",$data);
$name = $x[count($x)-2];
if(isset($a[$name]))
$a[$name]['name']=$x[0];
}
foreach($a as $value)
{
$str=$value['md5'].','.$value['name'];
fwrite($ fp,$str);
echo $value['md5'].','.$value['name']."
";
fwrite($fp,$str);
}
? >
8.驗證碼
/*
* * 🎜 >標題(“內容類型:圖片/PNG”);
session_start();
$auth_num = "";
/*建立一個基於調色盤的圖片*/
$im = imagecreate(63, 20);
/* 初始化一個隨機種子*/
srand((double)microtime() * 1000000);
$auth_num_k = md5(rand(000);
$auth_num_k = md5(rand(000);
$auth_num = substr($auth_num_k, 17, 5);
/*屬性會話變數*/
$_SESSION['authnum'] = $auth_num; Allblack = Im , 0, 0, 0);
$white = ImageColorAllocate($im, 255, 255, 255);
$gray = ImageColorAllocate($im, 200, 200, 200); im, 63, 20, $black);
imagestring($im, 5, 10, 3, $auth_num,$gray);
for ($i = 0;$i
for ($i = 0;$i
for ($i = 0;$i $randcolor = ImageColorallocate($im, rand(0,255), rand(0,255), rand(0,255)); rand()0 , $randcolor);
}
ImagePNG($im);
ImageDestroy($im);
? >

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。