複製代碼 代碼如下: /* | Author: Yang Yu <niceses@gmail.com> | @param char|int $start_date 一個有效日期格式,例如:20091016,2009-10-16 | @param char|int $end_date 同上 | @return 給定日期之間的周末天數 */ function get_weekend_days($start_date,$end_date){ if
複製代碼 代碼如下:// Xml 轉 數組, 包括根鍵 function xml_to_array( $xml ) { $reg = "/<(\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/"; if(preg_match_all($reg, $xml, $matches)) { $count = count($matches[0]); for($i = 0; $i < $count; $i++) { $subxml= $matches[
關於作者 王丹丹 , IBM 中國系統與技術中心軟體工程師,自從 2006 年加入 IBM,一直從事 Web 系統設計和開發工作,有五年 PHP 應用程式設計開發經驗。 通常開發人員在寫程式的時候,往往是把已經設計好或者構思好的運算邏輯,直接用程式設計語言翻譯出來。程式能順利編譯通過,那是很令人高興的事情。如果此時程式的已耗用時間還能接受,就會沉浸在寫代碼的成就感當中,常常在這個過程中忽略代碼的最佳化。只有當程式運行速度受到影響時,才回過頭去考慮最佳化的事情。本文主要是介紹在
複製代碼 代碼如下:<?php //設定我們將要使用的檔案 $srcurl = "http://localhost/index.php"; $tempfilename = "tempindex.html"; $targetfilename = "index.html"; ?> <HTML> <HEAD> <TITLE> Generating <?php echo("$targetfilename"); ?> </TITLE>
一個簡單的例子就是計算借書的天數,這需要php根據每天的日期進行計算,下面就來談談實現這種日期計算的幾種方法: (1) 如果有資料庫就很容易了!若是MSSQL可以使用觸發器!用專門計算日期差的函數datediff()便可! 若是MYSQL那就用兩個日期欄位的差值計算的計算結果儲存在另一個數值型欄位中!用時調用便可! (2)如果沒有資料庫,那就得完全用php的時間日期函數!下面主要說明之: 例:計算1998年5月3日到1999-6-5的天數: <?php $startdate=mktime(
一、php,不用COM,產生excel檔案 複製代碼 代碼如下: <? header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=test.xls"); echo "test1\t"; echo "test2\t\n"; echo "test1\t"; echo "test2\t\n"; echo "test1\t"; echo "test2\t\n"; echo "test1
{一}PHP中this,self,parent的區別之一this篇 物件導向編程(OOP,Object Oriented Programming)現已經成為編程人員的一項基本技能。利用OOP的思想進行PHP的進階編程,對於提高PHP編程能力和規劃web開發構架都是很有意義的。 PHP5經過重寫後,對OOP的支援額有了很大的飛躍,成為了具備了大部分物件導向語言的特性的語言,比PHP4有了很多的物件導向的特性。這裡我主要談的是 this,self,parent 三個關鍵字之間的區別。從字面上來理解,
普通使用者與搜尋引擎蜘蛛爬行的區別在於發送的user agent,看網站記錄檔能發現百度蜘蛛名字包含Baiduspider, 而google的則是Googlebot, 這樣我們可以通過判斷髮送的user agent來決定要不要取消普通使用者的訪問,編寫函數如下: 複製代碼 代碼如下: function isAllowAccess($directForbidden = FALSE) { $allowed = array('/baiduspider/i', '/googlebot/i');
PHP 只有類別 (class)、方法 (method)、屬性、以及單一繼承 (extensions) 等。對不習慣使用 C++、Java、Delphi 等物件導向語言來開發程式的使用者,不妨先閱讀一下有關物件導向概念的書,相信可以帶來許多的收穫。 下面的範例是手推車類。可以看到,使用 class 表示它是一個類類別。在類別中的 function,例如 add_item 則表示該類的一個方法。方法可以封裝類的實際處理情形,讓該類自己能依封裝好的方法來執行一些步驟。 程式中的 $this
複製代碼 代碼如下: <?php /** * @usage: used to offer safe file write operation in multiple threads context, arbitory file type * @author: Rocky Zhang * @time: Nov. 11 2009 * @demo[0]: $handler = mfopen($file, 'a+'); * mfwrite($handler, $str); */ function
當時想做一個隨機更換背景圖片的功能,用JavaScript寫的話,程式流程應該是:建立一個圖片數組->隨機播放數組裡其中一個值->產生樣式並寫入body標籤。 可是用JS做的話,有以下缺點: 1.萬一瀏覽器禁用了JS的話就失效了,而且寫代碼是需要考慮相容性。 2.維護比較麻煩,圖片的位置都存放在數組裡。
沒有什麼不同,下面的內容,就是針對一個Java程式員掌握的技能對比PHP來說的!告訴你,它們其實是一樣的,不過是工具而已,沒有高低貴賤之分。 只不過你不熟練,不知道而已! 1、文法:必須比較熟悉,在寫代碼的時候IDE的編輯器對某一行報錯應該能夠根據報錯信 息知道是什麼樣的語法錯誤並且知道任何修正。 2、命令:必須熟悉PHP帶的一些常用命令及其常用選項,熟悉那些命令,自己運行 php.exe -h 如果這些命令你沒有全部使用過,那麼你對PHP實際上還很不瞭解。
複製代碼 代碼如下: //採集html function getwebcontent($url){ $ch = curl_init(); $timeout = 10; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt ($ch,
複製代碼 代碼如下: <?php //包含PHP Simple html Dom 類庫檔案 include_once('./simplehtmldom/simple_html_dom.php'); //採集html function getwebcontent($url){ $ch = curl_init(); $timeout = 10; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch,
之前在噹噹的時候的一個項目中用到了一個簡單的模板引擎,其實也是借鑒discuz來做的模板引擎,很簡單,它所作的事情就是把一些自訂的標籤編譯成php代碼。已經說了很簡單了,所以編譯的時候也名優進行模板文法的檢查,那麼在開發過程中就會出現編譯出來的php檔案有文法問題,有文法問題沒有關係,我修改重新編譯一下就好了。首先不能在每次請求的時候都把php模板重新編譯一下,會嚴重影響效能,折中的處理時在每個編譯好的php檔案末尾檢查一下該模板檔案是否已經修改過,根據設定的更新頻率,如果又需要則重新編譯模板檔
圖表庫下面的類庫可以讓你很簡單就能建立複雜的圖表和圖片。當然,它們需要GD庫的支援。pChart - 一個可以建立統計圖的庫。Libchart - 這也是一個簡單的統計圖庫。JpGraph - 一個物件導向的圖片建立類。Open Flash Chart - 這是一個基於Flash的統計圖。RSS 解析解釋RSS並是一件很單調的事情,不過幸好你有下面的類庫可以協助你方便地讀取RSS的Feed。MagpieRSS - 開源的PHP版RSS解析器,據說功能強大,未驗證。SimplePie -
當時覺得這跟IIS相比,實在太差了,因為在IIS裡,可以在安全性裡設定一個網站甚至一個目錄訪問時使用的匿名帳號,只要各個網站使用的帳號不一樣,網站間的安全就不會互相影響。這幾天才發現,原來當時的想法是錯的,在Apache下,也可以配置PHP來實現各網站間的相互獨立運行,雖然不能詳細控制以某個使用者運行某個網站,但至少不會再出現整個伺服器被拿下的局面。 通過配置PHP的open_basedir即可以實現該控制,這個配置在IIS下也有用,但這裡只講Apache下的配置。
複製代碼 代碼如下:"http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']; php server函數 大全SERVER["HTTP_ACCEPT"]=*/* $_SERVER["HTTP_REFERER"]=http://localhost/lianxi/ $_SERVER["HTTP_ACCEPT_LANGUAGE"]=zh-cn
複製代碼 代碼如下: <?php $filename = '路徑+實際檔案名稱'; //檔案的類型 header('Content-type: application/pdf'); //下載顯示的名字 header('Content-Disposition: attachment; filename="儲存時的檔案名稱.pdf"'); readfile("$filename"); exit(); ?> 下面是網上常用的方法 複製代碼 代碼如下: if (isset($link))
不管頁面有多少header,它會執行最後一個,不過是有條件的,例如: header('Location:http://www.jb51.net'); header('Location:http://www.g.cn'); header('Location:http://www.baidu.com'); 這個就會跳到百度 header('Location:http://www.jb51.net');echo '雲棲社區'; header('Location:http://www.g.cn');