php的做為web編程語應(yīng)用是非常廣的,做為一個php程序員要知道并總結(jié)一些應(yīng)用寫法方式以方便日常的開發(fā)。
1、自動判斷當(dāng)前http協(xié)議類型,這個應(yīng)用還是我在支付寶SDK中發(fā)現(xiàn)的,是一個不錯的寫法。
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
2、php判斷瀏覽器終端PC、平板、手機的實現(xiàn)方法,經(jīng)實測,非常好用和準(zhǔn)備,可以在后端實現(xiàn)根據(jù)不同的終端調(diào)用不同的模塊處理。
Mobile_Detect項目地址:https://github.com/serbanghita/Mobile-Detect/
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' :'phone') :'computer');
3、php通過curl上傳文件,特別注意的是下面的file路徑,如果在windows環(huán)境下,在realpath后的路徑前面加上@字符是可以正常發(fā)送的。如果在linux中是不能正常發(fā)送的。正確的寫法是curl_file_create($fileurl)
$fileurl = realpath($fileObj->getRealFile());//獲取文件的實際物理路徑
$post_data = array(
'token' => '88e780d49ff812c644c89ff31e5de196',
"file" => curl_file_create($fileurl),
);
4、php生成二維碼,使用的是PHPQRcode。
5、PHP浮點數(shù)精度丟失問題
解決方案。原則:在進行浮點數(shù)計算的時候一定要對浮點數(shù)進行格式化!再代入進行計算處理。
var_dump(intval(sprintf("%.2f", $f*100)));//string '58.00'//int 58
var_dump(intval(round($f*100, 1)));//float 58//int 58
var_dump(intval(number_format($f*100,2)));//string '58.00'//int 58
6、根據(jù)IP定位用戶所在城市信息
使用第三方ip庫來獲取內(nèi)容:http://www.ipip.net/download.html
7、隨機排列數(shù)組。shuffle()函數(shù)把數(shù)組中的元素按隨機順序重新排列。常在數(shù)據(jù)庫中查出數(shù)據(jù)后,用這個函數(shù)處理一下就可以生成隨機排列的新數(shù)組
8、php獲取上傳文件大小函數(shù)
/**
* 文件大小格式化
*@param type $filename 文件路徑
*/
function getFilesize($filename) {
$filename = $_SERVER['DOCUMENT_ROOT'] . . $filename;
$size=filesize($filename);
$mod = 1024;
$units = explode(' ','B KB MB GB TB PB');
for ($i = 0; $size > $mod; $i++) {
$size /= $mod;
}
return round($size, 2) . ' ' . $units[$i];
}
作者:創(chuàng)新互聯(lián)技術(shù)部王國梁
分享標(biāo)題:PHP網(wǎng)站開發(fā)的一些經(jīng)典應(yīng)用整理
當(dāng)前鏈接:http://jinyejixie.com/news28/240828.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)、用戶體驗、App設(shè)計、微信小程序
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)