Time of Update: 2016-07-21
ID是網站中經常出現的,它一般是數字,但是我們發現現在的網站很多ID都是字母了,比如YouTube的視頻播放頁它的URL類似/watch?v=yzNjIBEdyww。 下面是一個產生字母ID的方法。使用樣本:複製代碼 代碼如下: alphaID(12354); //會將數字轉換為字母。 alphaID('PpQXn7COf',true);//會將字母ID轉換為對應的數字。 alphaID(12354,false,6);//指定產生字母ID的長度為6.源碼:複製代碼 代碼如下:/**
Time of Update: 2016-07-21
/** * HTTP Protocol defined status codes * HTTP協議狀態代碼,調用函數時候只需要將$num賦予一個下表中的已知值就直接會返回狀態了。 * @param int $num * Downloads By http://www.bkjia.com*/ function https($num) { $http = array ( 100 => "HTTP/1.1 100 Continue", 101 => "HTTP/1.1 101 Switching
Time of Update: 2016-07-21
複製代碼 代碼如下:function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) { $theta = $longitude1 - $longitude2; $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) *
Time of Update: 2016-07-21
PHP 提供了 simplexml_load_string 方法用來解析 XML 格式的字串,並返回 SimpleXMLElement 對象。不過一般數組是更為適用的,所以也會有轉換為普通數組的需求,這個方法測試完全奏效,支援 SimpleXMLElement 對象多層嵌套的情況。 提供兩個參數,第一個參數為 SimpleXMLElement 對象,第二個參數為布爾值,控制最終傳回值是否包含根節點。 function xmlToArr ($xml, $root = true) { if
Time of Update: 2016-07-21
date.csv:"ID" "NAME" "EMAIL""1" "小明" "xm@163.com""2" "小東" "xd@sina.com""3" "小少" "shaozi@hotmai.com"讀取這個csv檔案複製代碼 代碼如下:$handle=fopen('date.csv','r');while($data=fgetcsv($handle,10000,"/t")) { echo "$data[0]"."$data[1]"."$data[2]";
Time of Update: 2016-07-21
PHP 函數 strip_tags 提供了從字串中去除 HTML 和 PHP 標記的功能,該函數嘗試返回給定的字串 str 去除Null 字元、HTML 和 PHP 標記後的結果。由於 strip_tags() 無法實際驗證 HTML,不完整或者破損標籤將導致更多的資料被刪除。比如下述代碼:stringstringstringhellostring通過 strip_tags($str, ‘’)
Time of Update: 2016-07-21
在PHP指令碼中變數主要有:內建超級全域變數,一般的變數,常量,全域變數,靜態變數等等,我們在使用它們的時候除了要正確地知道它們的文法以外,更重要的是,我們要知道它們在本質上的區別與聯絡—即它們的範圍的問題。1.內建超級全域變數可以在指令碼的任何地方使用和可見。即是說,如果我們在一個PHP頁面中改變了其中的一個值,那麼在其他PHP頁面中使用時,它的值也會發生改變。2.常量一旦被聲明將可以在全域可見,也就是說,它們可以函數內外使用,但是這僅僅限於一個頁面之中(包含我們通過include和inclu
Time of Update: 2016-07-21
昨天瀏覽線上項目,發現了一個問題:部分文本輸出中的引號前多了一道反斜線,比如:引號內容多了\"反斜線\"單從頁面展現的結果來看,猜測應該是PHP中的magic_quotes_gpc配置被開啟了的原因。然後檢查了下程式,發現在入口檔案中,已經動態關閉了這個配置:ini_set('magic_quotes_gpc',
Time of Update: 2016-07-21
一、兩個重要目錄:Apache有兩個重要的目錄:1、配置目錄/etc/httpd/conf;2、文檔目錄/var/www:二、兩種配置模式:Apache在Fedora下的兩種配置方式:文字模式(終端命令列)和圖形化配置。兩者各有優勢:圖形化下配置,更容易上手,在文字模式下直接編輯httpd.conf檔案,自由性更強些、更直接。三、Apache服務的啟動與關閉Apache服務的停止、啟動、關閉可以通過兩種模式下進行操作:文本(終端)模式下和圖形化介面。四、終端下的操作如果你想用Linux作為WWW
Time of Update: 2016-07-21
PHP 語言不像 JavaScript 那樣具備非同步回調的特性,實現並發也就有些棘手。不過對於伺服器之間進行串連和通訊,PHP 良好支援了 libcurl 庫,要執行一批並發請求,依靠 curl_multi_init 方法就可以輕鬆搞定。 通常,一個簡單的 CURL 請求是這樣被組裝和發送的: $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL,
Time of Update: 2016-07-21
1.開啟apache的httpd.conf檔案,找到# Virtual hosts#Include conf/extra/httpd-vhosts.conf這一段把Include conf/extra/httpd-vhosts.conf前面的"#"去掉。2.修改位於(win7)c:/windows/system32/drivers/etc/目錄下的hosts檔案增加一段:127.0.0.1
Time of Update: 2016-07-21
在自己代碼的函數中使用 require(BASE_PATH . ‘wp-load.php’); 引入 WordPress 核心代碼,然後執行 WP_Query 擷取特定的日誌,然後就發生下面的錯誤:Fatal error: Call to a member function get() on a non-object in [path to site]\site\wp-includes\query.php on line 27這是因為全域變數不正確使用引起的問題,預設 $
Time of Update: 2016-07-21
複製代碼 代碼如下://delfile("upload",10);function delfile($dir,$n) //刪除當DIR路徑下N分鐘前建立的所有檔案;{if(is_dir($dir)) { if($dh=opendir($dir)) { while (false !== ($file = readdir($dh))) { if($file!="." && $file!="..") { $fullpath=$dir."/"
Time of Update: 2016-07-21
在 PHP 裡面替換字串有很多種方法,str_replace 是再常見不過了,複雜一點的也可能會用到 preg_replace 方法。 這兩個方法(str_replace 和 preg_replace)除了正則外,在迴圈替換的問題上也有一個噁心的差異。先看看各自的文法說明: str_replace mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) preg_replace
Time of Update: 2016-07-21
如何在php中判斷一個網頁請求是ajax請求還是普通請求?你可以通過傳遞參數的方法來實現,例如使用如下網址請求:/path/to/pkphp.com/script.php?ajax在php指令碼中使用如下方法判斷: 複製代碼 代碼如下:if(isset($_GET['ajax'])) { ...這是一個ajax請求,然後... } else { ...這不是一個ajax請求,然後... }
Time of Update: 2016-07-21
PHPMailer 是一個強大的 PHP 編寫的郵件發送類,使用它可以更加便捷的發送郵件,並且還能發送附件和 HTML 格式的郵件,同時還能使用 SMTP 伺服器來發送郵件。 大家也許會問,PHP 不是已經內建了 mail() 函數了嗎,為什麼要用 PHPMailer 呢?mail() 函數功能並不完善,只能發送文本的 e-mail,並且 mail() 函數只能應用在 Linux 伺服器(很多裝在 Win 主機的 WP 部落格使用者註冊收不到郵件也是這個原因),還有一個最大的問題就是使用
Time of Update: 2016-07-21
1:為什麼我得不到變數 我在一網頁向另一網頁POST資料name,為什麼輸出$name時卻得不到任何值? 在PHP4.2以後的版本中register_global預設為off 若想取得從另一頁面提交的變數: 方法一:在PHP.ini中找到register_global,並把它設定為on. 方法二:在接收網頁最前面放上這個extract($_POST);extract($_GET);(注意extract($_SESSION)前必須要有Session_Start()).
Time of Update: 2016-07-21
使用 formdata 結合 snoopy 做請求轉寄,實現非 form 形式,非 iframe 形式的非同步檔案上傳功能。 JS 代碼: document.getElementById('#file').change = function (e) { var data = new FormData(); //設定參數 data.append('nick', '邦彥'); data.append('session_id', '6fc373162b5e8a78a255777e0108a0b3');
Time of Update: 2016-07-21
如果要遍曆某個目錄下的所有檔案(包括子目錄),最首先想到的思路就是用遞迴:先處理目前的目錄,再處理目前的目錄下的子目錄。不用遞迴可不可以呢?以前學資料結構的時候看到過,遞迴其實是利用堆棧來實現的,遞迴的特點就是不斷的調用自身,最後一次的調用是最先執行完的,倒數第二次調用是其次執行完的,依次類推,最初的調用是最後執行完的。如果理解了遞迴的原理,其實就可以把所有用遞迴的實現轉化為非遞迴的實現。用非遞迴方式遍曆某個目錄下的所有檔案,思路主要分三步:1.
Time of Update: 2016-07-21
使用 360 檢測了網站漏洞之後,發了一篇解決漏洞的文章,在這。但是很多童鞋都有一些問題,很多童鞋都是卡在了變數名稱的這個步驟上,不知道怎樣尋找和添加代碼,的確是的,因為每一個程式的變數名稱都是不可能相同的,又怎樣能夠保證代碼的通用性呢,今天我們就來手把手的教會大家,怎樣通過Regex,尋找並且添加代碼吧。\$.+= \$_GET\['.+'\];\$.+=\$_GET\['.+'\];上面是本次要使用的兩個Regex,注意:兩行代碼都是獨立的,不能一口氣放在一起用,每次使用一行Regex就好。