Time of Update: 2016-07-21
最近想用php寫一個爬蟲,就需要解析html,在sourceforge上找到一個項目叫做PHP Simple HTML DOM Parser,它可以以類似jQuery的方式通過css選取器來返回指定的DOM元素,功能十分強大。 首先要在程式的開始引入simple_html_dom.php這個檔案 複製代碼 代碼如下: include_once('simple_html_dom.php'); PHP Simple HTML DOM Parser提供了3種方式來建立DOM對象 複製代碼 代碼如下:
Time of Update: 2016-07-21
在 php.ini 中找到 session.save_path 將值設定為 session.save_path = '3;/tmp/session'; 即可開啟三級目錄儲存session。但是php不會自動組建目錄結構,這時可以藉助源碼包 ext/session 目錄下的 mod_files.sh 來組建目錄 $ bash mod_files.sh /tmp/session 3
Time of Update: 2016-07-21
方法 bindParam() 和 bindValue() 非常相似。 唯一的區別就是前者使用一個PHP變數綁定參數,而後者使用一個值。 所以使用bindParam是第二個參數只能用變數名,而不能用變數值,而bindValue至可以使用具體值。 複製代碼 代碼如下: $stm = $pdo->prepare("select * from users where user = :user"); $user = "jack"; //正確 $stm->bindParam(":user",$user);
Time of Update: 2016-07-21
步驟一:搭建環境 1,首先查看你的php擴充目錄下是否有php_gettext.dll這個檔案,如果沒有,這就需要你 下載一個或是從其他地方拷貝一個,然後放到php擴充目錄。 2,開啟php.ini,尋找”;extension=php_gettext.dll“ ,然後去除注釋,重啟apache。 步驟二:原理講解 假如你的沒有國際化的程式裡有這樣的代碼,echo "你好";,而國際化的程式你要寫成 echo gettext("你好");,然後再在設定檔裡添加“你好”相對應的英文“Hi”。 這時,
Time of Update: 2016-07-21
調用方式如下:其中DebugStr這個函數就是類似一個echo。 複製代碼 代碼如下: DebugStr('$Adv->getContentById($id); $id為廣告編號, 僅調用一條,返回內容為字串'); echo Adv::getContentById(35); DebugStr('$Adv->getContentByIdJS($id); $id為廣告編號, 僅調用一條,返回內容為JS字串'); echo Adv::getContentByIdJS(35);
Time of Update: 2016-07-21
然而有一種情況,是防止不了的: 使用者提交表單以後,點擊瀏覽器後退按鈕返回表單頁面,這個時候瀏覽器會直接從緩衝中取出頁面,因此token驗證一定是通不過的。網上有許多種辦法可以繞過這個問題,比如用location.replace()方法來替換當前記錄,但是這樣仍然有瑕疵。極端的情況,若使用者在頁面間切換多次,那麼多點幾次後退按鈕很可能又回到了上一個表單頁面。解決辦法是在http頭中設定Cache-Control: no-cache, no-store。然而我嘗試了無論是在頁面head中添加
Time of Update: 2016-07-21
很早之前就知道有一個叫做PHPExcel的類(官方網站)可以用來操作Excel,一直沒有機會嘗試,今天試用發現無比強大,下載後的源碼包裡有詳細文檔,幾乎能實現手工操作Excel能實現的一切功能。 一個簡單的讀取Excel的例子如下: 複製代碼 代碼如下: $inputFileType = 'Excel2007'; $inputFileName = './public/files/import_user_template.xlsx'; $sheetname = 'Sheet1';
Time of Update: 2016-07-21
方法1 複製代碼 代碼如下: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://192.168.1.135/turntable/get_jump.php"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, $array); curl_exec($ch); curl_close($ch); 方法2 複製代碼 代碼如下: $data[
Time of Update: 2016-07-21
現有某函數與對象如下: 複製代碼 代碼如下: var doubling=function(x){ return x*2; }; var obj={ val:100, }; 函數調用模式時,this被綁定到全域對象。這種情況在對象的屬性與方法被初始化時也能夠得到反應。現為ojb進行補充如下: 複製代碼 代碼如下: var obj={val:100, prop:function(){ var that=this; document.write('name: '+that+'; type:
Time of Update: 2016-07-21
當時獲得視頻長度是採用網上的通用的獲得flv視頻檔案長度的方法,但是這個方法只對flv視頻支援,其他格式的視頻擷取到的值就很差了, 下面在介紹一種:利用ffmpeg傳回值Duration的方法,原來也想過用,但是沒有解決,現在可以了,由於ffmpeg支援很多種格式的視頻,所以這個具體一定的通用性。 ffmpeg獲得視頻時間長度的Duration的linux命令: ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed
Time of Update: 2016-07-21
複製代碼 代碼如下: //a $arr=array('a'=>'abc','b'=>123,'c'=>true); //b //$arr=range('a','d'); //1 for($i=0;$iecho $arr[$i].', '; echo ''; //2 foreach($arr as $key) echo "$key, "; echo ''; //3 foreach($arr as $key=>$val) echo "$key-$val, "; echo ''; //4 reset(
Time of Update: 2016-07-21
問題描述;獲得flv視頻的縮圖和視頻時間長度Google了半天發現可以使用Ffmpeg獲得視頻的一些資訊,先介紹一下FFMEPG 這裡簡單說一下:FFmpeg是用於錄製、轉換和流化音頻和視頻的完整解決方案,一套領先的音/視頻編解碼類庫。官方正式版ffmpeg不支援rmvb和rm格式. 不過有很多解決方案FFmpeg的官方網址是 http://ffmpeg.mplayerhq.hu/ 。中文Wiki是 http://www.ffmpeg.com.cn/
Time of Update: 2016-07-21
所以,把第一章,可重用類的代碼貼出來,便於以後查閱以及供給有需要的朋友。 :User類,包括讀取和設定資料庫,以及儲存更改互動 複製代碼 代碼如下: class User{ private $uid; private $fields; public function __construct(){ $this->uid=null; $this->fields=array('username'=>'','password'=>'','emailAddr'=>'','isActive'=>false)
Time of Update: 2016-07-21
複製代碼 代碼如下: $full_name = array(); $full_name["Roger"] = "Waters"; $full_name["Richard"] = "Wright"; $full_name["Nick"] = "Mason"; $full_name["David"] = "Gilmour"; To sort this array, you just use the assort( ) function. This involves nothing more
Time of Update: 2016-07-21
index.html 複製代碼 代碼如下: 無重新整理上傳檔案 upload.php 複製代碼 代碼如下: sleep(2); $fileTypes = array('jpg','png','gif','bmp'); $result = null; $uploadDir = './upfiles'; $maxSize = 1 * pow(2,20); if ($_SERVER['REQUEST_METHOD'] == 'POST' &&
Time of Update: 2016-07-21
(代碼片斷實驗成功,成功上傳!) 因為昨天想起來學習一下PHP代碼的衝動,是來源於像模仿著做一個類似公司IMAGE LIBRARY的東西出來。所以,今天當最基本的功能實現後,對PHP有了個概念性的認識後,就很自然地想到了個重要的功能急待實現,那就是圖片的上傳。 於是,開始在網上搜羅,找到個別人部落格裡的由三個頁面組成的代碼片斷,於是拷下來研究,結果始終調試不成。本以為是公司電腦入域問題在作怪,後來經過一番嘗試後,打算暫時放一下。回家去試(因為家裡的電腦是最純淨的環境配製)。
Time of Update: 2016-07-21
複製代碼 代碼如下:/* author: ssh_kobe date: 20110602 shortage: 如果網頁中的圖片路徑不是絕對路徑,就無法抓取 */ set_time_limit(0);//抓取不受時間限制 $URL='http://pp.baidu.com/';//任意網址 get_pic($URL); function get_pic($pic_url) { //擷取圖片二進位流 $data=CurlGet($pic_url); /*利用Regex得到圖片連結*/
Time of Update: 2016-07-21
例如:'胥'經過json_encode處理後變為'\u80e5',最終的json中中文部分被替換為unicode編碼。我們要解決的就是將對象轉換為json並保證對象內部的中文在json中仍然是以正常的中文出現,現在看來只使用json_encode是不能達到目的的。 我的解決方案:先將類中的中文欄位進行url編碼(urlencode),然後再對對象進行json編碼(jsonencode),最後url解碼(urldecode)json,即最終的json,裡面的中文依舊是那個中文! 測試代碼如下:
Time of Update: 2016-07-21
複製代碼 代碼如下:$command = '/usr/bin/php /pub/www/u111/job/Crondo/auto_collector.php &'; $process = proc_open($command, array(),$pipes); $var = proc_get_status($process); proc_close($process); //pid就是進程ID,至於為什麼要加1,我現在也沒有搞懂,經過多次的測試,發現$var['pid']得到的ID比實際的少1
Time of Update: 2016-07-21
假設現在有一個圖片檔案,它的伺服器端路徑為: $path = "/www/mywebsite/images/myphoto.jpg"; 1.pathinfo()函數 pathinfo()函數返回的是一個包含了檔案資訊的數組,數組中有四個元素,分別是dirname、basename、extension、filename。列印數組的代碼: 複製代碼 代碼如下: $fileArr = pathinfo($path); print_r($fileArr); //輸出結果:Array (