PHP简单功能的实现
生活随笔
收集整理的這篇文章主要介紹了
PHP简单功能的实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
檢查一個變量是否為空
- empty功能
- 返回值:
- 若變量不存在則返回 TRUE
- 若變量存在且其值為””、0、”0”、NULL、FALSE、 array()、var $var; 以及沒有任何屬性的對象,則返回 TURE
- 若變量存在且值不為””、0、”0”、NULL、FALSE、 array()、var $var; 以及沒有任何屬性的對象,則返回 FALSE
函數支持版本:(PHP 4, PHP 5, PHP 7
PHP提取字符串中的數字
使用正則表達式:
1
2
3
4
5
6
7
8
9
10function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$reg='/(\d{3}(\.\d+)?)/is';//匹配數字的正則表達式
preg_match_all($reg,$str,$result);
if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
return $result[1][0];
}
return '';
}in_array方法:
1
2
3
4
5
6
7
8
9
10
11
12function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$temp=array('1','2','3','4','5','6','7','8','9','0');
$result='';
for($i=0;$i<strlen($str);$i++){
if(in_array($str[$i],$temp)){
$result.=$str[$i];
}
}
return $result;
}is_numeric函數:
1
2
3
4
5
6
7
8
9
10
11function findNum($str=''){
$str=trim($str);
if(empty($str)){return '';}
$result='';
for($i=0;$i<strlen($str);$i++){
if(is_numeric($str[$i])){
$result.=$str[$i];
}
}
return $result;
}
PHP操作數組
創建空數組
1
2$x = [];
var_dump($x); // array(0) {}php 合并數組,且不重復相同的元素
1
2
3
4
5$a = array("1","3","5","10","15");
$b = array("1","3","5","6","9");
$x = array_unique(array_merge($a,$b));
var_dump($x);
// 結果:array("1","3","5","10","15","6","9" )php找到兩個數組中相同的元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14// 找出兩個數組相同的項
function getSameArr($a1,$a2){
$alength = count($a1);
for ($i=0; $i <$alength ; $i++) {
if (in_array($a1[$i],$a2)) {
$sameArr[] = $a1[$i];
}
}
if ($sameArr) {
return $sameArr;
}else{
return array("0");
}
}
前端顯示若超過字數,后面使用省略號
| 1 2 3 4 5 6 7 | <?php if (strlen($new['title']) < 51 ) { echo $new['title']; }else{ echo mb_substr($new['title'], 0,17,'utf-8').'...'; } ?> |
文件上傳
修改PHP上傳文件的大小限制
使用POST請求提交的數據大小超過了服務器的最大限制數(8388608字節=8MB)會報告如下錯誤:
| 1 | Warning: POST Content-Length of 625523488 bytes exceeds the limit of 8388608 bytes in Unknown on line 0 |
如果需要的話,可以通過修改PHP的配置文件php.ini中的post_max_size參數的值。
在PHP的配置文件php.ini中,默認存在如下配置信息(在php.ini中,行首的分號”;”表示當前行是注釋,不會生效):
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ;腳本解析輸入數據(類似 POST 和 GET)允許的最大時間,單位是秒。 它從接收所有數據到開始執行腳本進行測量的。 max_input_time = 60 ;允許客戶端單個POST請求發送的最大數據 post_max_size = 8M ;是否開啟文件上傳功能 file_uploads = On ;文件上傳的臨時存放目錄(如果不指定,使用系統默認的臨時目錄) ;upload_tmp_dir = ;允許單個請求上傳的最大文件大小 upload_max_filesize = 2M ;允許單個POST請求同時上傳的最大文件數量 max_file_uploads = 20 |
PHP獲取站點根目錄
獲取文件路徑
1
2
3
4
5<?php
echo __FILE__ ; // 取得當前文件的絕對地址,結果:D:\www\test.php
echo dirname(__FILE__); // 取得當前文件所在的絕對目錄,結果:D:\www\
echo dirname(dirname(__FILE__)); //取得當前文件的上一層目錄名,結果:D:\
?>
- 魔術常量__FILE__:取得當前文件的路徑,這里的路徑包含了文件名;
- dirname(__FILE__):返回一層目錄;
- realpath()函數:返回絕對路徑,刪除所有符號連接(比如 ‘/./‘, ‘/../‘ 以及多余的 ‘/‘),返回絕對路徑名,若失敗(如文件不存在),則返回 false。
- 路徑方式
| 1 2 | define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/"); echo BASE_PATH; // 輸出結果:E:/wwwroot/ |
str_replace( '\\' , '/' , realpath(dirname(__FILE__).'/../')):把向左的“\”轉化成向右的“/”。
- url方式
| 1 2 3 | PHP_SELF=$_SERVER['PHP_SELF']; $url='http://'.$_SERVER['HTTP_HOST'].substr($PHP_SELF,0,strrpos($PHP_SELF,'/')+1); echo $url; // 輸出結果:http://localhost/ |
PHP取得站點根目錄
1
2
3
4
5echo $_SERVER['HTTP_HOST']; //當前請求的 Host: 頭部的內容 即域名信信息
echo $_SERVER['PHP_SELF']; //當前正在執行腳本的文件相對網站根目錄地址,就算該文件被其他文件引用也可以正確得到地址
echo $_SERVER['SCRIPT_NAME']; //當前正在執行腳本的文件相對網站根目錄地址,但當該文件被其他文件引用時,只顯示引用文件的相對地址,不顯示該被引用腳本的相對地址。
echo $_SERVER['DOCUMENT_ROOT']; //網站相對服務器地址即網站的絕對路徑名 #當前運行腳本所在的文檔根目錄。在服務器配置文件中定義
echo $_SERVER['SCRIPT_FILENAME']; //當前執行腳本的絕對路徑名。
總結
以上是生活随笔為你收集整理的PHP简单功能的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LBS地理位置距离计算方法之geohas
- 下一篇: PHP自动加载机制