Time of Update: 2017-01-19
標題這樣不知道合適不合適。具體的情況是這樣的:網站要增加關鍵字連結功能,然後需要對文章的內容進行Regex匹配並替換,然後使用了preg_replace函數。替換的程式碼如下:function ReplaceKeyword($linkDefs,$content){$linkMap = array();/*foreach($linkDefs as $row) {$linkMap[] = explode(',', $row);}*/$linkMap =
Time of Update: 2017-01-19
如果要在某個數組中刪除一個元素,可以直接用的unset,但今天看到的東西卻讓我大吃一驚複製代碼 代碼如下:<?php$arr = array('a','b','c','d');unset($arr[1]);print_r($arr);?>print_r($arr)之後,結果卻不是那樣的,最終結果是 Array ( [0] => a [2] => c [3] => d
Time of Update: 2017-01-19
本文執行個體講述了PHP+iFrame實現頁面無需重新整理的非同步檔案上傳,是非常實用的常見技巧。分享給大家供大家參考。具體分析如下:說到iframe,現在用它的人是越來越少了,並且很多人都相信它應該被AJAX所取代,的確如此,因為AJAX太出色了。不過有一種情況的實現我還是選擇了iframe,這就是本文要說的檔案的非同步上傳,感興趣的可以試試,如果用原生的AJAX來實現應該是要複雜的多。先來給初學者補補基礎知識:1. 在iframe標籤一般會指定其name特性以於標識;2.
Time of Update: 2017-01-19
本文執行個體介紹了PHP使用靜態方法的幾個常見注意事項。分享給大家供大家參考。具體方法如下:1. 即使類中的方法並未用static聲明,但其未使用到可改變的類成員變數,在外部仍可用操作符::來調用;2. 以靜態方式(用::操作符)調用的方法中$this的取值是由調用時的上下文決定的!而不是定義他的類!!例如以下的代碼:<?php class TestClass1 { public $normal_v = 'normal_v from TestClass1'; public
Time of Update: 2017-01-19
本文執行個體講述了PHP中使用PHPExcel讀寫excel(xls)檔案的方法,非常實用。分享給大家供大家參考之用。具體方法如下:很多PHP類庫在讀取中文的xls、csv檔案時會有問題,網上找了下資料,發現PHPExcel類庫好用,官網地址為:http://phpexcel.codeplex.com/。現將PHPExcel讀寫Excel的方法分別敘述如下:1、讀取xls檔案內容<?php //向xls檔案寫入內容 error_reporting(E_ALL);
Time of Update: 2017-01-19
為什麼要謹慎使用PHP中的常量?Zend Framework文檔中寫道:常量包含數字字母字元和底線,數字允許作為常量名。 常量名的所有字母必須大寫。類常量必須通過 "const" 定義為類的成員,強烈不鼓勵使用 "define" 定義的全域常量。作為PHP的官方架構,為什麼會有這樣的要求?讓我們一起分析一下吧。1. define容易產生意想不到的錯誤PHP常量是定義後就不能修改和再次賦值。但是如果再次賦值會怎麼樣?<?php define('C', 12345); define('
Time of Update: 2017-01-19
因項目需求,需要將asp尾碼的修改成php,因懶於一個個修改。又覺得php跟Qt一樣都是進階語言了,一般進階語言都有提供對獲得的內容進行增刪改查的函數。經過一番資料尋找與代碼測試,總結出了PHP修改指定檔案尾碼的方法,分享給大家。目標:將目前的目錄下的asp尾碼改成php,而不影響其它“尾碼格式的檔案”,而且只是針對“當前檔案夾”,對當前檔案夾內包含的檔案夾的檔案不進行修改。具體功能代碼如下:<?php function foreachDir($dirname){
Time of Update: 2017-01-19
熟悉SEO的朋友都知道,對於網站外部連結失效的情況如果連結帶有rel="nofollow"屬性可以避免不必要的損失。本文就以執行個體形式示範了PHP實現對網站內容外部連結的過濾方法。具體如下:問題描述:原來站內很多文章都是摘錄的外部文章,文章裡很多連結要麼是時間久了失效了,要麼就是一些測試的網址,如:http://localhost/ 之類的,連結多了的話,就形成站內很多死連結,這對SEO最佳化是很不利的。解決方案:需要對網站內的內容進行過濾,將不是內部連結的連結加上
Time of Update: 2017-01-19
如何用php產生1-10之間的不重複隨機數?例1,使用shuffle函數產生隨機數。<?php$arr=range(1,10);shuffle($arr);foreach($arr as $values){ echo $values." ";}?>例2,使用array_unique函數產生隨機數。<?php$arr=array();while(count($arr)<10){ $arr[]=rand(1,10);
Time of Update: 2017-01-19
學習一個架構之前,基本上我們都需要知道什麼是mvc,即model-view-control,說白了就是資料控制以及頁面的分離實現,mvc就是這樣應運而生的,mvc分為了三個層次,而且三個層次各司其職,互不干擾,首先簡單介紹下,各個層次,view即是視圖,也就是web頁面,control即是控制器 向系統發出指令的工具,model 簡單說是從資料庫中取出資料進行處理。Mvc的工作流程:第一步
Time of Update: 2017-01-19
1. 修改PHP設定檔中的三項:vim /usr/local/php/etc/php.ini (1)post_max_size = 50M #PHP可接受的最大POST資料 (2)upload_max_filesize = 50M #檔案上傳允許的最大值 (3)max_execution_time = 300 #每個指令碼的最大執行時間,秒鐘(0則不限制,不建議設0)2. 修改Nginx設定檔:vim
Time of Update: 2017-01-19
其實抓ajax非同步內容的頁面和抓普通的頁面區別不大。ajax只不過是做了一次非同步http請求,只要使用firebug類似的工具,找到請求的後端服務url和傳值的參數,然後對該url傳遞參數進行抓取即可。利用Firebug的網路工具如果抓去的是頁面,則內容中沒有顯示的資料,是一堆JS代碼。Code$cookie_file=tempnam('./temp','cookie');$ch = curl_init();$url1 =
Time of Update: 2017-01-19
每在頁面中上傳較大的檔案時遇到FastCgi的錯誤:“The FastCGI process exceeded configured request
Time of Update: 2017-01-19
做採集經常遇到的問題是內容排版問題,用了一些時間寫了個用正則替換html標籤和樣式的函數,共用下。複製代碼 代碼如下:/** * 格式化內容 * @param string $content 內容最好統一用utf-8編碼 * @return string * !本函數需要開啟tidy擴充 */function removeFormat($content) { $replaces = array ( "/
Time of Update: 2017-01-19
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。簡而論之,不管是xml還是json都是為了方便在用戶端與伺服器端互動資料的中轉站,特別是用於對象型資料,比如最常見的數組。下面將分別將數組從php傳送給javascript,以及將數組從javascript傳送給php樣本說明,例子比較簡單,明白概念即可。不管從php傳送給javascript,還是javascript傳送給php,json在傳送之前都會將對象扁平化即一維化為字串。PHP 向
Time of Update: 2017-01-19
使用php擷取時間今天明天昨天時間戳記2013-06-20 11:12<?phpecho "今天:".date("Y-m-d")."<br>"; echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>"; echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>";&
Time of Update: 2017-01-19
在一個項目中遇到了一個奇怪的問題,耗費了我不少時間都沒有解決,最終調試發現是判斷的問題—-關於0和 ‘ ‘ (空單引號,為好看清我加了個空格)的判斷,我發現 0==”
Time of Update: 2017-01-19
1,快速建立數組的函數range()比如range()函數可以快速建立從1到9的數字數組:複製代碼 代碼如下:<?php $numbers=range(1,9);echo $numbers[1];?>當然,使用range(9,1)則建立了9到1的數字數組。同時,range()還可以建立從a到z 的字元數組:複製代碼 代碼如下:<?php $numbers=range(a,z);foreach ($numbers as $mychrs)
Time of Update: 2017-01-19
三個函數雖然都是讀取資源的函數,但各自的應用情境不同。curl多用於互連網網頁之間的抓取,fopen多用於讀取檔案,而file_get_contents多用於擷取靜態頁面的內容。1. fopen /file_get_contents 每次請求都會重新做DNS查詢,並不對DNS資訊進行緩衝。但是CURL會自動對DNS資訊進行緩衝。對同一網域名稱下的網頁或者圖片的請求只需要一次DNS查詢。這大大減少了DNS查詢的次數。所以CURL的效能比fopen /file_get_contents 好很多。2.
Time of Update: 2017-01-19
分享下PHP return語句的另一個作用,在bbPress的代碼中看到的一個奇葩使用方法。一直以為,return只能出現在函數中,直到看了bbPress的代碼:<?phprequire_once('./bb-load.php');bb_repermalink(); // The magic happens here.if ( $self ) {if ( strpos($self, '.php') !== false ) {require($self);} else