~~~
/**
* 產生隨機字符串
*
* @param int $length 輸出長度
* @param string $chars 可選的 ,默認為 0123456789
* @return string 字符串
*/
function random($length, $chars = '0123456789') {
$hash = '';
$max = strlen($chars) - 1;
mt_srand();
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
~~~
~~~
/**?
?*?\[get_rand_str?獲取隨機字符串\]
?*?@param??integer?$randLength????\[長度\]
?*?@param??integer?$addtime???????\[是否加入當前時間戳\]
?*?@param??integer?$includenumber?\[是否包含數字\]
?*?@return?\[type\]?????????????????\[description\]
?*/
function?get_rand_str($randLength=6,$addtime=1,$includenumber=0)
{
????if?($includenumber){
????????$chars='abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQEST123456789';
????}else?{
????????$chars='abcdefghijklmnopqrstuvwxyz';
????}
????$len=strlen($chars);
????$randStr='';
????for?($i=0;$i<$randLength;$i++){
????????$randStr.=$chars\[rand(0,$len-1)\];
????}
????$tokenvalue=$randStr;
????if?($addtime){
????????$tokenvalue=$randStr.time();
????}
????return?$tokenvalue;
}
~~~
~~~
/**
* 產生隨機字串,可用來自動生成密碼 默認長度6位 字母和數字混合
*
* @param string $len 長度
* @param string $type 字串類型
* 0 字母 1 數字 其它 混合
* @param string $addChars 額外字符
*
* @return string
*/
function rand_string($len = 6, $type = '', $addChars = '')
{
$str = '';
switch ($type) {
case 0:
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.$addChars;
break;
case 1:
$chars = str_repeat('0123456789', 3);
break;
case 2:
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.$addChars;
break;
case 3:
$chars = 'abcdefghijklmnopqrstuvwxyz'.$addChars;
break;
case 4:
$chars = "們以我到他會作時要動國產的一是工就年階義發成部民可出能方進在了不和有大這主中人上為來分生對于學下級地個用同行面說種過命度革而多子后自社加小機也經力線本電高量長黨得實家定深法表著水理化爭現所二起政三好十戰無農使性前等反體合斗路圖把結第里正新開論之物從當兩些還天資事隊批點育重其思與間內去因件日利相由壓員氣業代全組數果期導平各基或月毛然如應形想制心樣干都向變關問比展那它最及外沒看治提五解系林者米群頭意只明四道馬認次文通但條較克又公孔領軍流入接席位情運器并飛原油放立題質指建區驗活眾很教決特此常石強極土少已根共直團統式轉別造切九你取西持總料連任志觀調七么山程百報更見必真保熱委手改管處己將修支識病象幾先老光專什六型具示復安帶每東增則完風回南廣勞輪科北打積車計給節做務被整聯步類集號列溫裝即毫知軸研單色堅據速防史拉世設達爾場織歷花受求傳口斷況采精金界品判參層止邊清至萬確究書術狀廠須離再目海交權且兒青才證低越際八試規斯近注辦布門鐵需走議縣兵固除般引齒千勝細影濟白格效置推空配刀葉率述今選養德話查差半敵始片施響收華覺備名紅續均藥標記難存測士身緊液派準斤角降維板許破述技消底床田勢端感往神便賀村構照容非搞亞磨族火段算適講按值美態黃易彪服早班麥削信排臺聲該擊素張密害侯草何樹肥繼右屬市嚴徑螺檢左頁抗蘇顯苦英快稱壞移約巴材省黑武培著河帝僅針怎植京助升王眼她抓含苗副雜普談圍食射源例致酸舊卻充足短劃劑宣環落首尺波承粉踐府魚隨考刻靠夠滿夫失包住促枝局菌桿周護巖師舉曲春元超負砂封換太模貧減陽揚江析畝木言球朝醫校古呢稻宋聽唯輸滑站另衛字鼓剛寫劉微略范供阿塊某功套友限項余倒卷創律雨讓骨遠幫初皮播優占死毒圈偉季訓控激找叫云互跟裂糧粒母練塞鋼頂策雙留誤礎吸阻故寸盾晚絲女散焊功株親院冷徹彈錯散商視藝滅版烈零室輕血倍缺厘泵察絕富城沖噴壤簡否柱李望盤磁雄似困鞏益洲脫投送奴側潤蓋揮距觸星松送獲興獨官混紀依未突架寬冬章濕偏紋吃執閥礦寨責熟穩奪硬價努翻奇甲預職評讀背協損棉侵灰雖矛厚羅泥辟告卵箱掌氧恩愛停曾溶營終綱孟錢待盡俄縮沙退陳討奮械載胞幼哪剝迫旋征槽倒握擔仍呀鮮吧卡粗介鉆逐弱腳怕鹽末陰豐霧冠丙街萊貝輻腸付吉滲瑞驚頓擠秒懸姆爛森糖圣凹陶詞遲蠶億矩康遵牧遭幅園腔訂香肉弟屋敏恢忘編印蜂急拿擴傷飛露核緣游振操央伍域甚迅輝異序免紙夜鄉久隸缸夾念蘭映溝乙嗎儒殺汽磷艱晶插埃燃歡鐵補咱芽永瓦傾陣碳演威附牙芽永瓦斜灌歐獻順豬洋腐請透司危括脈宜笑若尾束壯暴企菜穗楚漢愈綠拖牛份染既秋遍鍛玉夏療尖殖井費州訪吹榮銅沿替滾客召旱悟刺腦措貫藏敢令隙爐殼硫煤迎鑄粘探臨薄旬善福縱擇禮愿伏殘雷延煙句純漸耕跑澤慢栽魯赤繁境潮橫掉錐希池敗船假亮謂托伙哲懷割擺貢呈勁財儀沉煉麻罪祖息車穿貨銷齊鼠抽畫飼龍庫守筑房歌寒喜哥洗蝕廢納腹乎錄鏡婦惡脂莊擦險贊鐘搖典柄辯竹谷賣亂虛橋奧伯趕垂途額壁網截野遺靜謀弄掛課鎮妄盛耐援扎慮鍵歸符慶聚繞摩忙舞遇索顧膠羊湖釘仁音跡碎伸燈避泛亡答勇頻皇柳哈揭甘諾概憲濃島襲誰洪謝炮澆斑訊懂靈蛋閉孩釋乳巨徒私銀伊景坦累勻霉杜樂勒隔彎績招紹胡呼痛峰零柴簧午跳居尚丁秦稍追梁折耗堿殊崗挖氏刃劇堆赫荷胸衡勤膜篇登駐案刊秧緩凸役剪川雪鏈漁啦臉戶洛孢勃盟買楊宗焦賽旗濾硅炭股坐蒸凝竟陷槍黎救冒暗洞犯筒您宋弧爆謬涂味津臂障褐陸啊健尊豆拔莫抵桑坡縫警挑污冰柬嘴啥飯塑寄趙喊墊丹渡耳刨虎筆稀昆浪薩茶滴淺擁穴覆倫娘噸浸袖珠雌媽紫戲塔錘震歲貌潔剖牢鋒疑霸閃埔猛訴刷狠忽災鬧喬唐漏聞沈熔氯荒莖男凡搶像漿旁玻亦忠唱蒙予紛捕鎖尤乘烏智淡允叛畜俘摸銹掃畢璃寶芯爺鑒秘凈蔣鈣肩騰枯拋軌堂拌爸循誘祝勵肯酒繩窮塘燥泡袋朗喂鋁軟渠顆慣貿糞綜墻趨彼屆墨礙啟逆卸航衣孫齡嶺騙休借".$addChars;
break;
default :
// 默認去掉了容易混淆的字符oOLl和數字01,要添加請使用addChars參數
$chars = 'ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'.$addChars;
break;
}
if ($len > 10) {//位數過長重復字符串一定次數
$chars = $type == 1 ? str_repeat($chars, $len) : str_repeat($chars, 5);
}
if ($type != 4) {
$chars = str_shuffle($chars);
$str = substr($chars, 0, $len);
} else {
// 中文隨機字
for ($i = 0; $i < $len; $i++) {
$str .= msubstr($chars, floor(mt_rand(0, mb_strlen($chars, 'utf-8') - 1)), 1);
}
}
return $str;
}
~~~
~~~
/**
* 字符串截取,支持中文和其他編碼
* @static
* @access public
*
* @param string $str 需要轉換的字符串
* @param string $start 開始位置
* @param string $length 截取長度
* @param string $charset 編碼格式
* @param string $suffix 截斷顯示字符
*
* @return string
*/
function msubstr($str, $start = 0, $length, $charset = "utf-8", $suffix = true)
{
if (function_exists("mb_substr")) {
$slice = mb_substr($str, $start, $length, $charset);
} elseif (function_exists('iconv_substr')) {
$slice = iconv_substr($str, $start, $length, $charset);
if (false === $slice) {
$slice = '';
}
} else {
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset], $str, $match);
$slice = join("", array_slice($match[0], $start, $length));
}
return $suffix ? $slice.'...' : $slice;
}
~~~
~~~
/**
* 產生一個指定長度的隨機字符串,并返回給用戶
* @param type $len 產生字符串的長度
* @return string 隨機字符串
*/
function genRandomString($len = 6)
{
$chars = array(
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
"3", "4", "5", "6", "7", "8", "9",
);
$charsLen = count($chars) - 1;
// 將數組打亂
shuffle($chars);
$output = "";
for ($i = 0; $i < $len; $i++) {
$output .= $chars[mt_rand(0, $charsLen)];
}
return $output;
}
~~~
- 一、php一些常用的校驗
- 1.1、校驗是否為空(null/空串)
- 1.2、校驗是否為純數字
- 1.3、校驗是否為純數字(正則)
- 1.4、檢驗手機號
- 1.5、校驗郵箱格式
- 1.6、檢查密碼長度是否符合規定
- 二、手機類型訪問判斷
- 2.1、判斷是否為手機訪問
- 2.2、判斷是否為微信訪問
- 2.3、判斷是否為Android|IOS訪問
- 2.4、檢查手機格式,中國手機不帶國家代碼,國際手機號格式為:國家代碼-手機號
- 2..5、獲取隨機UA
- 2.6、is_get_post
- 三、字符集文件轉換
- 3.1、utf8轉gbk
- 3.2、gbk轉utf8
- 3.3、繁體轉簡體
- 3.4、簡體轉繁體
- 3.5、unicode轉utf8
- 3.6、utf8轉unicode
- 3.7、Ascii轉拼音
- 3.8、gbk轉拼音
- 3.9、數組 utf8轉gbk
- 3.10、數組 gbk轉utf8
- 3.11、json 處理gbk轉碼utf-8問題( json_encode轉換數組,值為null)
- 3.12、Unicode解碼
- 3.13、【PHP】實現搜索引擎中把搜索結果命中的關鍵字標記紅色
- 3.14、字符串截取
- 3.15、去除字符串中的指定字符
- 四、文檔目錄操作
- 4.1、轉化 \ 為 /
- 4.2、創建目錄
- 4.3、拷貝目錄及下面所有文件
- 4.4、轉換目錄下面的所有文件編碼格式
- 4.5、列出目錄下所有文件
- 4.6、設置目錄下面的所有文件的訪問和修改時間
- 4.7、目錄列表
- 4.8、刪除目錄及目錄下面的所有文件
- 4.9、取得文件擴展
- 4.10、查詢字符是否存在于某字符串
- 4.11、獲取文件目錄列表
- 4.12、刪除一個路徑下的所有文件夾和文件的方法
- 4.13、文件下載
- 4.14、寫入文件日志
- 4.15、移動文件封裝方法
- 五、session與cookie
- 5.1、設置session
- 5.2、讀取session
- 5.3、清除session
- 六、CURL操作
- 6.1、發起get請求
- 6.2、發起post請求
- 6.3、curl獲取跳轉后的網址的url
- 6.4、curl判斷遠程圖片是否加防盜鏈
- 6.5、curl獲取301頁面的內容
- 6.6、curl判斷文件是否存在(404)
- 6.7、php的curl封裝類
- 七、日期、時間與字節轉換
- 7.1、轉換字節數為其他單位(Gb、Mb等)
- 7.2、時間轉換(將秒轉換為時間)
- 7.3、將秒轉換成 天-時分秒
- 7.4、時間轉換(將時分秒轉換為秒)
- 7.5、計算兩個時間相差的天
- 7.6、獲取文件大小并格式化
- 7.7、返回13位時間戳
- 7.8、返回與當前時間的差距,如1分鐘前,2小時前,5月前等
- 7.8、PHP中DateTime的常用方法
- 7.9、生日(身份證號)轉年齡
- 7.10、密碼加密方法
- 八、對象、數組、字符串、轉義等
- 8.1、將數組轉換為對象
- 8.2、將對象轉換為數組
- 8.3、將字符串轉換為數組
- 8.4、將數組轉換為字符串
- 8.5、將文本格式成適合js輸出的字符串
- 8.6、返回經addslashes(轉義)處理過的字符串或數組
- 8.7、返回經stripslashes(刪除反斜杠)處理過的字符串或數組
- 8.8、返回經htmlspecialchars(字符轉html)處理過的字符串或數組
- 8.9、安全過濾函數
- 8.10、xss過濾函數
- 8.11、過濾ASCII碼從0-28的控制字符
- 8.12、格式化文本域內容
- 8.13、將文本格式成適合js輸出的字符串
- 8.14、轉義 javascript 代碼標記
- 8.15、數組轉碼
- 8.16、php用逗號格式化數字
- 8.17、數組去重
- 8.18、字符串去重
- 8.19、數組排序
- 8.20、兼容低版本的array_column
- 8.21、把返回的數據集轉換成Tree
- 8.22、判斷字符串是否為已經序列化過
- 8.23、截取指定兩個字符之間字符串
- 九、加密擴展
- 9.1、簡單的字符串加密、解密函數
- 9.2、簡單的加密解密類【棄用】
- 9.3、簡單對稱加密算法2
- 9.4、常用對稱加密算法(DES/AES)類
- 9.5、3des加密解密類-三重數據加密算法【棄用】
- 9.6、PHP7.* DES的加密解密
- 9.7、加密解密函數
- 十、隨機數、獲取請求ip等
- 10.1、產生隨機字符串
- 10.2、獲取請求ip
- 10.3、生成一定范圍內的隨機數字
- 10.4、生成不重復的隨機數
- 10.5、生成一定數量的隨機數,并且不重復
- 10.6、生成32位隨機數
- 10.7、生成9位隨機數字(可以做qq用)
- 10.8、創建優惠券、會員卡號
- 10.9、php判斷是否梯子訪問
- 10.10 IP地區判斷
- 10.11獲取操作系統、瀏覽器信息
- 10.12、根據各種類型變量生成唯一標識符
- PHP 生成不重復唯一標識 session_create_id()
- 十一、其他
- 11.1、php對html頁面壓縮函數
- 11.2、構建層級(樹狀)數組、
- 11.3、獲取內容中的圖片
- 11.4、生成sql語句,如果傳入$in_cloumn 生成格式為 IN('a', 'b', 'c')
- 11.5、打印各種類型的數據,調試程序時使用。
- 11.6、URL重定向
- 11.7、替換html代碼里的所有圖片的url,新增url
- 11.8、去除html里的p標簽
- 11.9、去除字符串中所有html代碼(格式化代碼html)
- 11.10、將number_format的輸出轉換為php數字
- 11.11、使用Jquery插件jsonview來展示json數據
- 11.12、input()接收數據(get,post等)
- 11.13、return_json
- 11.14、圖片合成
- 11.15、將var_export 格式化為5.4數組
- 11.16、生成文件后綴圖片
- 11.17、跨域檢測
- 11.18、切分SQL文件成多個可以單獨執行的sql語句
- 11.19、XML編碼
- 11.20、分享URL壓縮
- 11.21、PHP抓取遠程圖片到本地保存
- 11.22、PHP網址縮短算法代碼(修復PHP7.0問題)
- 11.23、input xss clear
- 11.24、獲取遠程圖片顯示(遠程403)
- 11.24、xml轉數組以及數組轉xml
- 11.7、內容里批量替換圖片的url地址為自己的地址
- 十二、類庫
- 1、php 5.6.3PHP封裝的數據庫模型Model類完整示例【基于PDO】
- 2、Curl類庫
- 3、php PDO數據庫類庫
- 4、獲取網站title
- 5、極光推送類
- 6、php中文轉拼音類
- 7、php 提取HTML文章中的圖片地址類
- 8、php FTP操作類
- php獲取MAC地址
- 9、【PHP】使用phpoffice/phpexcel,導入導出數據
- 10、根據ip解析為地區-省市
- 11、PHP PUT方式上傳
- 12、Env環境變量類庫
- 13、圖片裁剪并緩存
- 14、翻譯類庫【有道、百度】
- 15、xml數據的創建與讀取
- 16、微信公眾號關鍵詞自動回復
- 17、功能強大的php文件上傳類