返回程序員手冊part4_第1頁
返回程序員手冊part4_第2頁
返回程序員手冊part4_第3頁
返回程序員手冊part4_第4頁
返回程序員手冊part4_第5頁
已閱讀5頁,還剩244頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

目錄IAdabasD函 目錄IAdabasD函 22 22 Apache專用函 數(shù)組函 函 47aspell_check- V任意精確度的數(shù)學函 日歷函 52 53 54 54 54 函 62 64 Date和Time函 81 87數(shù)據(jù)庫(dbm-型)抽象層函 90 XdBase函 函 100 101 目錄函 目錄函 動態(tài)加載函 程序執(zhí)行函 表單數(shù)據(jù)格式函 112filePro函 112filePro函 文件系統(tǒng)函 123 124 129 135 FTP函 137 139 140 141 142 HTTP函 HTTP函 143 Hyperwave函 介 與Apache的綜 混 150 151 151 152 152 152 153 155 155 156 157 158 159 161 167 圖像函 169 171 171 173 176 176 176 177 177 177 178 178 179 182 183 184 IMAP函 186 187 188 188 188 189 189 192 192 194 195 196 196 197 201 選項和信 204 208 Informix函 214 215 216 218 219 224 225 227 228 229 228 229 230InterBase函 230 231 232 233LDAP函 LDAP介 完整代碼實 233使用PHPLDAP調(diào) 更多信 237 239 241 242 244 244 246 248 IAdabasD函數(shù)一般不使用AdabasD函數(shù)最好是用UnifiedODBCada_afetch–IAdabasD函數(shù)一般不使用AdabasD函數(shù)最好是用UnifiedODBCada_afetch–參見ada_autocommit–參見ada_close–AdabasD參見ada_commit–參見ada_connect–AdabasD參見ada_exec–參見ada_connect–AdabasD參見ada_exec–SQL參見odbc_exec或ada_fetchrow–參見ada_fieldname參見ada_fieldnum–ada_fieldtype–參見ada_freeresult-->ada_fieldnum–ada_fieldtype–參見ada_freeresult-->參見ada_numfields–參見ada_numrows–參見ada_result–參見ada_resultall以HTMLada_numrows–參見ada_result–參見ada_resultall以HTML參見ada_rollback參見Apache專用–URI–URI注意apache_noteApachestringapache_note(stringnote_name,stringapache_noteApache數(shù)調(diào)用apache_noteApachestringapache_note(stringnote_name,stringapache_noteApache數(shù)調(diào)用它將返回注釋的當前值如果用兩個參數(shù)調(diào)用它將把note_name注釋的值設為note_value 并返回note_name注釋的前一個值getallheaders–HTTParrayHTTP注釋CGI變量的值不論PHPphpinfo來查看所有以這種1.getallheaderswhile(list($header,$value)={echo"$header:}注釋目前getallheadersPHPAapchevirtual–完成一項Apacheintvirtual(stringvirtual是Apache專用函數(shù)在mod_include中等同于<!--#includevirtual...-- 它Apachevirtual–完成一項Apacheintvirtual(stringvirtual是Apache專用函數(shù)在mod_include中等同于<!--#includevirtual...-- 它ApacheCGI腳本.shtmlCGI頭文該函數(shù)是極為有用的注意對于CGI腳本來說Content對于PHP文件來說則必須使用includeIII數(shù)組array–array返回參數(shù)數(shù)組這些參數(shù)必須以=>注釋array1.array$fruits="fruits"=>"numbers"=>array(1,2,3,4,5,=>array("first",5=>"second",array_push–intarray_push(arrayarray,mixedvar,array_push度將隨壓入的變量數(shù)而增加其效果等同于$array[]=1.array_push$stack=array(1,2);array_push($stack,"+",3);12"+"和參見array_push–intarray_push(arrayarray,mixedvar,array_push度將隨壓入的變量數(shù)而增加其效果等同于$array[]=1.array_push$stack=array(1,2);array_push($stack,"+",3);12"+"和參見array_shift注釋該函數(shù)已添加在PHP4.0array_popmixedarray_pop(arrayarray_pop1.array_pop$stack=array("orange","apple",$fruit=參見array_shift和該函數(shù)已添加在PHP4.0array_unshift–intarray_unshift(arrayarray,mixedvar,array_unshift1.array_unshift$queue=array("p1","p3");array_unshift($queue,"p4","p5","p6");該例子的結果是數(shù)組$queue5個元素"p1"和參見array_unshift–intarray_unshift(arrayarray,mixedvar,array_unshift1.array_unshift$queue=array("p1","p3");array_unshift($queue,"p4","p5","p6");該例子的結果是數(shù)組$queue5個元素"p1"和參見array_push和注釋該函數(shù)已添加在PHP4.0array_shift–mixedarray_shift(arrayarray_shift將數(shù)組的第一個值彈出并返回該值其1.array_shift$args=array("-v","-$opt=該例子的結果是數(shù)組$args中只留下一個元素"-而數(shù)組$opt中包含元素"-參見array_push和注釋該函數(shù)已添加在PHP4.0array_slice–arrayarray_slice(arrayarray,intoffset,int[length]array_sliceoffsetlength如果offset值為正該數(shù)據(jù)列將從數(shù)組中的第offset位開始如果offset為負該數(shù)據(jù)列將從數(shù)組尾部向前倒數(shù)第offset位開始length那么數(shù)據(jù)列中的元素數(shù)目就與該值相等果所給的length值為負數(shù)據(jù)列將在數(shù)組尾部第length位終止如果length參數(shù)被省略那么數(shù)據(jù)列中將包含從offset開始到數(shù)組尾部的所有元素示例1.array_slice$inputarray_slice–arrayarray_slice(arrayarray,intoffset,int[length]array_sliceoffsetlength如果offset值為正該數(shù)據(jù)列將從數(shù)組中的第offset位開始如果offset為負該數(shù)據(jù)列將從數(shù)組尾部向前倒數(shù)第offset位開始length那么數(shù)據(jù)列中的元素數(shù)目就與該值相等果所給的length值為負數(shù)據(jù)列將在數(shù)組尾部第length位終止如果length參數(shù)被省略那么數(shù)據(jù)列中將包含從offset開始到數(shù)組尾部的所有元素示例1.array_slice$input=array("a","b","d",====2);//returns"c","d",and2,--2,0,//returns"c",//returns//returns"a","b",and參見注釋該函數(shù)已添加在PHP4.0array_splice–arrayarray_splice(arrayinput,intoffset,int[length],arrayarray_splice根據(jù)offsetlengthinput數(shù)組中移走元素如果給出了replacement數(shù)組將以該數(shù)組中的值替代被移走的部分offset值為正那么被移走部分將是input數(shù)組中從第offset如果offset為負被移走的部分將從input數(shù)組的倒數(shù)第offsetlength參數(shù)將會移走從第offset如果給定了length參數(shù)其值為正lengthlength位到第素offset提示如果要在給出了replacement參數(shù)的情況下移走從offset位到數(shù)組尾部的所有元素請使用count($input)來計算length參數(shù)所應設置的值replacement數(shù)組則移走的元素將被該數(shù)組中的元素取代offsetlength的設置使得沒有任何元素被移走那么replacementoffsetlengthlength位到第素offset提示如果要在給出了replacement參數(shù)的情況下移走從offset位到數(shù)組尾部的所有元素請使用count($input)來計算length參數(shù)所應設置的值replacement數(shù)組則移走的元素將被該數(shù)組中的元素取代offsetlength的設置使得沒有任何元素被移走那么replacementoffset提示replacementarray_push($input,$x,count($input),array_pop($input)array_splice($input,-array_shift($input)array_splice($input,0,1)array_unshift($input,$x,$y)array_splice($input,0,$a[$x]=$yarray_splice($input,$x,1,0,array($x,1.array_splice$input=array("red","green","blue",array_splice($input,2);//$inputisnowarray("red",1,-1);//$inputisnowarray("red",1,count($input),//$inputisarray_splice($input,-1,1,array("black","maroon"));//$inputisnowarray("red","green","blue","black","maroon")參見注釋該函數(shù)已添加在PHP4.0array_merge–arrayarray_merge(arrayarray1,arrayarray2,[...]array_merge示例array_merge=array("color"=>"red",2,=array("a","b","color"=>"green","shape"=>示例array_merge=array("color"=>"red",2,=array("a","b","color"=>"green","shape"=>array_merge($array1,Resultingarraywillbearray("color"=>"green",2,4,"a","b",=>注釋該函數(shù)已添加在PHP4.0array_keysarrayarray_keys(arrayarray_keysinput1.array_keys$array=array(0=>100,"color"=>參見//returnsarray(0,該函數(shù)已添加在PHP4.06array_values–arrayarray_values(arrayarray_valuesinput1.array_values$array=array("size"=>"XL","color"=>"gold"); //returnsarray("XL","gold")注釋該函數(shù)已添加在PHP4.0intarray_walk(arrayarr,stringfunc,mixed1.array_values$array=array("size"=>"XL","color"=>"gold"); //returnsarray("XL","gold")注釋該函數(shù)已添加在PHP4.0intarray_walk(arrayarr,stringfunc,mixed將用func所命名的函數(shù)應用到數(shù)組arr數(shù)傳遞數(shù)組值數(shù)組關鍵字作為第二個參數(shù)到用戶函數(shù)的第三個參數(shù)這取決于如果所需的參數(shù)超過兩個或三個 array_walkfunc過在array_walk調(diào)用中預先掛起一個'@'符號或使用error_reporting的方法來禁止注釋:func需要使用數(shù)組的實際值請指定func1.array_walk$fruits=functiontest_alter(&$item1,$key,$prefix)$item1="$prefix:}functiontest_print($item2,$key{echo"$key.}array_walk($fruits,'test_print');array_walk($fruits,'test_alter','fruit');array_walk($fruits,'test_print');eachlist 將一個數(shù)組進行逆序排列同時保持索引相voidarsort(array 將一個數(shù)組進行逆序排列同時保持索引相voidarsort(array1.arsortfor(reset($fruits);$key=key($fruits);{echo"fruits[$key]=}fruits[a]=orangefruits[d]=lemonfruits[b=bananafruits[c]=結果將根據(jù)字母進行逆序排列而與每一個元素相關的索引仍保持不變參見asort 對一個數(shù)組進行排序并保持其索引聯(lián)voidasort(array該函數(shù)對數(shù)組進行排序同時又保持數(shù)組索引與其相關數(shù)組元素的相互關系主要在1.asortfor(reset($fruits);$key=key($fruits);{echo"fruits[$key]=}該實例將如下顯示fruits[c]=applefruits[b]=bananafruits[d]=lemonfruits[a]=orange 水果按照字母進行逆序排列同時又保持了與每一元素相聯(lián)系 ksort和arraycompact(string該實例將如下顯示fruits[c]=applefruits[b]=bananafruits[d]=lemonfruits[a]=orange 水果按照字母進行逆序排列同時又保持了與每一元素相聯(lián)系 ksort和arraycompact(stringvarname|arrayvarnames,compactcompact可以以遞歸的方式對它進行處對于其中的每一個元素compact都會在當前的符號表中查找到一個具有該名稱的變量然后將其添加到輸出數(shù)組中從而使變量名變成關鍵字而該變量的內(nèi)容則變成該關鍵字的值簡單來說它所完成的是與extract相反的操作返回的是包含所有被添加的1.compact$city="San$state=$event=$location_vars=array("city",$result=compact("event",Afterthis,$resultwillbearray("event"=>"SIGGRAPH","city"=>"SanFrancisco","state"=>"CA").注釋PHP4.0intcount(mixedvar中的元素數(shù)目這個var如果該變量沒有設置返回警告count00請使用isset來測試該變量是否已經(jīng)設置參見 isset和 mixedcurrent(array每一個數(shù)組都有一個內(nèi)部指針指向其當前元素初始時指向插入該數(shù)組的第intcount(mixedvar中的元素數(shù)目這個var如果該變量沒有設置返回警告count00請使用isset來測試該變量是否已經(jīng)設置參見 isset和 mixedcurrent(array每一個數(shù)組都有一個內(nèi)部指針指向其當前元素初始時指向插入該數(shù)組的第current函數(shù)只是簡單的返回內(nèi)部指針當前所指向的元素而不會對指針進行任何動如果指針的指向已經(jīng)超出了元素列表的末 警告如果數(shù)組中包含空元素0或""息這就使用戶無法用current判斷到底是否已經(jīng)到達列表尾部要完全的遍歷一個可能包含空元素的數(shù)組請使用each函數(shù)參見 prev和 arrayeach(array返回的1key和 0和key這兩個元素存放數(shù)組元素的關字名稱1value 返回的1key和 0和key這兩個元素存放數(shù)組元素的關字名稱1value each函數(shù)將返回錯$foo=array("bob","fred","jussi","jouni"$bar=each($foo$barkey/value對0=>1=>key=>0$foo=array("Robert"=>"Bob","Seppo"=>"Sepi"$bar=each($foo$barkey/value對0=>1=>value=>each的典型用法是和list一起使用來遍歷一個數(shù)組例如2.Traversing$HTTP_POST_VARSwithecho"ValuessubmittedviaPOSTmethod:<br>";while(list($key,$val)=each($HTTP_POST_VARS)){echo"$key=>}each參見next和end(arrayendarray參見nextvoidextract(arrayvar_array,int[extract_type],string作為變量的值它將根據(jù)參數(shù)extract_typeprefix的值為每一個關鍵字end(arrayendarray參見nextvoidextract(arrayvar_array,int[extract_type],string作為變量的值它將根據(jù)參數(shù)extract_typeprefix的值為每一個關鍵字/值對在extract將用現(xiàn)有的變量檢查沖突處理沖突的方法就是由參數(shù)extract_type決定的它可以是以下值之一如果存在沖突就用prefix為所有變量添加前綴注意只有extract_type值為EXTR_PREFIX_SAME或EXTR_PREFIX_ALL的情況下才需要前綴prefixextract將檢查每一個關鍵字以確定它是否組成有效的變量名并只有在有效的情extract的另一種可能用途是用于引入符號表中的變量這些變量保存在由函數(shù)wddx_deserialize返回的相關數(shù)組1.extract/*Supposethat$var_arrayisanarrayreturnedfromwddx_deserialize*/$size=$var_array=array("color"=>/*Supposethat$var_arrayisanarrayreturnedfromwddx_deserialize*/$size=$var_array=array("color"=>"size"=>"medium","shape"=>"sphere");print"$color,$size,$shape,blue,large,sphere,$sizeEXTR_PREFIX_SAME個新的$wddx_size變量如果指定的是f那就不會創(chuàng)建變量$wddx_sizeEXTR_OVERWRITE將使變量$size的值為 $wddx_size和$wddx_shape的變boolin_array(mixedneedle,arrayhaystackneedle假1.in_array$os=array("Mac","NT","Irix","Linux");if(in_array("Irix",$os))print"Got注釋:PHP4.0 mixedkey(arraykey返回數(shù)組中當前位置的索引元素參見current intksort(array1.ksortfor(reset($fruits);$key mixedkey(arraykey返回數(shù)組中當前位置的索引元素參見current intksort(array1.ksortfor(reset($fruits);$key=key($fruits);{echo"fruits[$key]=}fruits[d]=參見 sort和fruits[a]=orangefruits[b]=bananafruits[c]=appl voidarray一樣這并不是真正的函數(shù)而是一種語言結構list用于在一次操作中指1.list$result=mysql($conn,"SELECTid,name,salaryFROMemployees");while(list($id,$name,$salary)=mysql_fetch_row($result)){""1.list$result=mysql($conn,"SELECTid,name,salaryFROMemployees");while(list($id,$name,$salary)=mysql_fetch_row($result)){"""<td><a}each, mixednext(arraynext的使用與current相似只有一個區(qū)別它在返回元素之前將把內(nèi)部數(shù)組指針向前移動一位這意味著它返回下一個數(shù)組元素并將內(nèi)部數(shù)組元素向前移動一位如果指針的前移超出了元素列末尾next將返回假值警告遍歷一個可能包含空元素的數(shù)組請參考each參見 endprev和 mixedpos(arraycurrent函數(shù)的別參見 prev和mixedprev(array警告 mixedpos(arraycurrent函數(shù)的別參見 prev和mixedprev(array警告eachprev的使用和next相似只不過它不是將數(shù)組內(nèi)部指針前移而是將它后移參見current endnext和reset 創(chuàng)建包含一列整型值的數(shù)arrayrange(intlow,intrangelowhigh的順序返回此范圍內(nèi)的整型值mixedreset(arrayresetreset參見 nextprev和 將數(shù)組逆序排voidmixedreset(arrayresetreset參見 nextprev和 將數(shù)組逆序排voidrsort(array該函數(shù)將數(shù)組以逆序排序1.rsortfor(reset($fruits);list($key,$value)=each($fruits);echo"fruits[$key]=",$value,"\n";})fruits[0]=orangefruits[1]=lemonfruits[2=banfruits[3]= 參見 sort和voidshuffle(array1.shufflewhile(list(,$number)={echo"$number}參見 和intsizeof(arraywhile(list(,$number)={echo"$number}參見 和intsizeof(array參見countsort——將數(shù)組排voidsort(array該函數(shù)用于將數(shù)組排序當該函數(shù)執(zhí)行完后1.sortfor(reset($fruits);$key=key($fruits);{echo"fruits[$key]=}fruits[0]=applefruits[1]=bananafruits[2]=lemofruits[3]=orange 參見arsort voiduasort(arrayarray,function該函數(shù)用于將數(shù)組排序并保留數(shù)組索引與其相關聯(lián)的數(shù)組元素的關聯(lián)主要用于對元素實際順序很有用的數(shù)組進行排序比較函數(shù)是用戶自定義的voiduksort(arrayfunction準進行排序就需要使用該函數(shù)1.uksortfunctionmycompare($a,$b)ifvoiduasort(arrayarray,function該函數(shù)用于將數(shù)組排序并保留數(shù)組索引與其相關聯(lián)的數(shù)組元素的關聯(lián)主要用于對元素實際順序很有用的數(shù)組進行排序比較函數(shù)是用戶自定義的voiduksort(arrayfunction準進行排序就需要使用該函數(shù)1.uksortfunctionmycompare($a,$b)if($a==$b)returnreturn($a>$b)?-1:}$a=array(4=>"four",3=>"three",20=>"twenty",10=>"ten");uksort($a,mycompare);while(list($key,$value)={echo"$key:}20:twenty10:ten4:four3:參見 rsort和voidusort(arrayfunction排序就需要使用該函數(shù)如果第一個參數(shù)需要大于等于或小于第二個參數(shù)個大于等于或大于0的整型值如果兩個元素的比較結果相等那么它們在排序后的數(shù)1.usortif($a==$b)return0;return($a>$b)?-1:1;}voidusort(arrayfunction排序就需要使用該函數(shù)如果第一個參數(shù)需要大于等于或小于第二個參數(shù)個大于等于或大于0的整型值如果兩個元素的比較結果相等那么它們在排序后的數(shù)1.usortif($a==$b)return0;return($a>$b)?-1:1;}usort($a,cmp);while(list($key,$value)={echo"$key:} 0:61:52:33:24:注釋很明 在這個普通例子中使用rsort函數(shù)更為適警告如果比較函數(shù)返回的值不一致一些C函數(shù)庫例如Solaris系統(tǒng)中的基本快速排序函數(shù)將使PHP產(chǎn)生沖突參見 rsort和Aspell函數(shù)aspellintaspell_new(stringaspell_new1.booleanaspell_check(intdictionary_link,stringaspell_check1.if{1.booleanaspell_check(intdictionary_link,stringaspell_check1.if{echo}elseecho}isavalidwrongaspell_check-aspell_check-booleanaspell_check_raw(intdictionary_link,stringaspell_check_raw果拼寫正確就返回真值否則返回假值如1.if{echo"Thisisavalid}elseecho"Sorry,wrong}arrayaspell_suggest(intdictionary_link,stringaspell_suggest返回給定單詞的可能arrayaspell_suggest(intdictionary_link,stringaspell_suggest返回給定單詞的可能拼寫方式的數(shù)1.for($i=0;$i<count($suggestions);$i++)echo"Possiblespelling:".$suggestions[$i].}}V任意精確度的數(shù)學函數(shù)只有PHP是以--enable-bcmath stringbcadd(stringleftoperand,stringrightoperand,int參見bcsubintbccomp(stringleftoperand,stringrightoperand,int將leftoperand與rightoperand進行比較并以整型值返回結果數(shù)scale0leftintbccomp(stringleftoperand,stringrightoperand,int將leftoperand與rightoperand進行比較并以整型值返回結果數(shù)scale0leftoperandrightoperand返回值為+1如果于rightoperand返回值為-1leftoperandbcdiv(stringleftoperand,stringrightint用rightoperand除leftoperand 并返回結果可選參數(shù)scale用于設置bcmod(stringleftoperand,stringleftoperandmodulusstringbcmul(stringleftoperand,stringrightoperand,intleftoperandrightstringbcmul(stringleftoperand,stringrightoperand,intleftoperandrightoperand并返回結果可選參數(shù)scale用于設置結 stringbcpow(stringx,stringy,intxy的冪scale參數(shù)用于設置結果中小數(shù)位之后數(shù)字個數(shù)參見bcsqrt stringbcscale(intbcscale 返回任意精確度的數(shù)字的平方stringbcsqrt(stringoperand,int返回operand的平方根可選參數(shù)scale用于設置結果中小數(shù)位之后數(shù)字個數(shù)參見bcpowbcsub(stringleftoperand,stringrightoperand,intleftoperandright參見bcaddVI日歷函dl/calendarJulianbcsub(stringleftoperand,stringrightoperand,intleftoperandright參見bcaddVI日歷函dl/calendarJulianDay是的要早得多大約為公元前化為JulianDay 再轉(zhuǎn)化成所需的格式JulianDayCount與羅馬儒略歷法的差別請訪 常大要獲得與日歷系統(tǒng)相關的更多信息JulianDayCountstringjdtogregorian(int將JulianDayCount"month/day/year"格式表示的格里將格里高里歷法日期轉(zhuǎn)化成JulianDayintgregoriantojd(intmonth,intday,int47149999盡管該軟件可以處理直到公元前4714的日期但這樣的用法實際上是沒有意義的將格里高里歷法日期轉(zhuǎn)化成JulianDayintgregoriantojd(intmonth,intday,int47149999盡管該軟件可以處理直到公元前4714的日期但這樣的用法實際上是沒有意義的15821015日才產(chǎn)生或者是羅馬儒略歷的1582105日1752年蘇聯(lián)是年1923年1JulianDaystringjdtojulian(int將JulianDayCount"month/day/year"格式保存羅馬儒略JulianDayintjuliantojd(intmonth,intday,int46年但它的細節(jié)至少到公元8將JulianDayintjuliantojd(intmonth,intday,int46年但它的細節(jié)至少到公元8將JulianDayCountstringjdtojewish(int將JulianDayCountJulianDayintjewishtojd(intmonth,intday,int盡管軟件可以處理直到第一年公元前3761的將JulianDayCountRepublicanstringjdtofrench(intmonth,intday,int將JulianDayCountRepublicanintfrenchtojd(intmonth,intday,int將法國的RepublicanCalendarJulianDay這些常規(guī)只轉(zhuǎn)化從第一年到第十四年的日期intfrenchtojd(intmonth,intday,int將法國的RepublicanCalendarJulianDay這些常規(guī)只轉(zhuǎn)化從第一年到第十四年的日期17929221806922stringjdmonthname(intjulianday,int返回一個保存月份名稱的字符串mode表示該函數(shù)要將轉(zhuǎn)化成何種日歷1日歷模式0格里高里歷法–12羅馬儒略歷法–345mixedjddayofweek(intjulianday,int2CalendarUNIXinteaster_date(intUNIX警告UNIX1easter_datemixedjddayofweek(intjulianday,int2CalendarUNIXinteaster_date(intUNIX警告UNIX1easter_date321DionysiusExiguus年引入的人們以簡單 年一個輪回來追蹤月亮(1753ClaviusLilius設計由PopeGregoryXIII158210月引入英國然后于1752年引入其殖民地國家)增加了兩個修以使這個輪回(這段代碼是SimonKershawC語言編寫的年之后的復活節(jié)請參見0以整型值返回日子的編號(0=星期日,1=星期一等等1返回保存一星期中的日子的字符串英國-2返回一個字符串其中包含一周中日的縮寫(英國-格里高里歷法inteaster_days(int3211970年之 或2037年之后的年份1.easter_date14,i.e.April32,i.e.April2,easter_days(int3211970年之 或2037年之后的年份1.easter_date14,i.e.April32,i.e.April2,i.e.MarchClibPDF函數(shù)ClibPDFPHPpdf文檔在FastIO軟件在使用ClibPDFThomasMerzpdflib它的功能也非常強大ClibPDFAPIThomasMerzpdflib相同但是據(jù)FastIO聲稱它的運行速度更快且pdflib2.02.0pdfclock.c實例已經(jīng)轉(zhuǎn)變PHP能那么文件大小也不會有什么區(qū)別ClibPDF手冊一起閱讀因為它對函數(shù)庫給出了更為詳細的解釋只要能理解ClibPDF手冊就可以開始在PHP中使用函數(shù)庫ClibPDFPHPpdflib內(nèi)部進行使用因為ClibPDF文檔事實 連試都不應ClibPDF說在下一個版本編寫本書時用的是1.10版本中將對此進行改進請使用pdflib相比于 ClibPDF的一大優(yōu)勢在于它能夠在內(nèi)存中完成創(chuàng)建文檔的整個過能帶來很多便捷的特性但是使用pdf_translatePDF絕大多數(shù)的函數(shù)都是比較容易使用的最難的部分也不過是創(chuàng)建一個簡單的檔以下實例將幫助各位讀者開始使用函數(shù)它將創(chuàng)建一個包含一個頁面的文檔含一個具有下劃線30鎊字體的文本Times-Roman”1.SimpleClibPDF$cpdf=cpdf_open(0);cpdf_page_init($cpdf,1,0,595,842);能帶來很多便捷的特性但是使用pdf_translatePDF絕大多數(shù)的函數(shù)都是比較容易使用的最難的部分也不過是創(chuàng)建一個簡單的檔以下實例將幫助各位讀者開始使用函數(shù)它將創(chuàng)建一個包含一個頁面的文檔含一個具有下劃線30鎊字體的文本Times-Roman”1.SimpleClibPDF$cpdf=cpdf_open(0);cpdf_page_init($cpdf,1,0,595,842);cpdf_add_outline($cpdf,0,0,0,1,"Pagecpdf_set_font($cpdf,"Times-Roman",30,cpdf_text($cpdf,"TimesRomanoutlined",50,Pdflib發(fā)行版中包含一個更為復雜的實例它創(chuàng)建一系列包含模擬時鐘的頁是用這個已經(jīng)用ClibPDFPHP示例pdflib2.0pdfclock==$pagecount=$pdf=cpdf_set_title($pdf,"AnalogClock");while($pagecount-->0)+$margin),cpdf_set_page_animation($pdf,4,0.5,0,0,0);/*wipecpdf_translate($pdf,$radius+$margin,$radiuscpdf_setrgbcolor($pdf,0.0,0.0,cpdf_translate($pdf,$radius+$margin,$radiuscpdf_setrgbcolor($pdf,0.0,0.0,+/*minutestrokes*/for($alpha=0;$alpha<360;$alpha+={}/*5minutestrokes*/for($alpha=0;$alpha<360;$alpha+={}$ltime/*drawhourhand*/$radius/2,/*drawminutehand*$radius*$radius*0.8,/*drawsecondhand*/cpdf_setrgbcolor($pdf,1.0,0.0,0.0);*cpdf_lineto($pdf,$radius,0.0);/*drawlittlecircleatcentercpdf_circle($pdf,0,0,$radius/30);}在PDFvoidcpdf_set_creator(stringcpdf_set_creator函數(shù)用于在PDF文檔中設置創(chuàng)作者字段參見cpdf_set_subject cpdf_set_titlecpdf_set_keywordsvoidcpdf_set_title(string參見voidcpdf_set_creator(stringcpdf_set_creator函數(shù)用于在PDF文檔中設置創(chuàng)作者字段參見cpdf_set_subject cpdf_set_titlecpdf_set_keywordsvoidcpdf_set_title(string參見 voidcpdf_set_subject(string參見 voidcpdf_set_keywords(string參見 intcpdf_open(intcompression,stringcpdf_open函數(shù)用于打開一個新的PDF文檔如果第一個參數(shù)不等于0將返回壓縮文件第二個可選參數(shù)用于設置文本要寫入的文件如果省略該參數(shù)將在內(nèi)存中創(chuàng)建一個文件然后可以用cpdf_save_to_file寫入一個文件或者用cpdf_output_buffer進行標準輸注釋ClibPDFPDF文檔的函數(shù)的intcpdf_open(intcompression,stringcpdf_open函數(shù)用于打開一個新的PDF文檔如果第一個參數(shù)不等于0將返回壓縮文件第二個可選參數(shù)用于設置文本要寫入的文件如果省略該參數(shù)將在內(nèi)存中創(chuàng)建一個文件然后可以用cpdf_save_to_file寫入一個文件或者用cpdf_output_buffer進行標準輸注釋ClibPDFPDF文檔的函數(shù)的ClibPDF函數(shù)庫將文件名"-"看成標準輸出文件的代名詞如果PHP是作為ApacheClibPDFApache中不能使用要解決這一問題可以略過該文件名并使用函數(shù)cpdf_output_buffer輸出該PDF文檔參見 voidcpdf_close(intpdfcpdf_close函數(shù)用于關閉PDF文檔它是cpdf_finalize參見和voidcpdf_page_init(intpdfdocument,intpagenumber,intdoubleheight,doublewidth,doublecpdf_page_init函數(shù)開始新的頁面其高為heightwidthorientationorientation值為page橫向排列orientation172個點默認值即為72參見voidcpdf_finalize_page(intpdfcpdf_page_init函數(shù)開始新的頁面其高為heightwidthorientationorientation值為page橫向排列orientation172個點默認值即為72參見voidcpdf_finalize_page(intpdfintpagecpdf_finalize_page函數(shù)用于結束頁面頁編號為pagenumber該函數(shù)只是用于節(jié)省內(nèi)存最終頁面只占用很少的內(nèi)存但不能在進行修改參見voidcpdf_finalize(intpdfcpdf_finalizecpdf_close參見cpdf_closevoidcpdf_output_buffer(intpdfcpdf_output_buffer函數(shù)用于PDF內(nèi)存中創(chuàng)建方法是不帶文件名參數(shù)直接調(diào)用cpdf_open參見將PDFvoidcpdf_save_to_file(intpdfdocument,string如果內(nèi)存中創(chuàng)建了cpdf_output_buffer函數(shù)用于PDF內(nèi)存中創(chuàng)建方法是不帶文件名參數(shù)直接調(diào)用cpdf_open參見將PDFvoidcpdf_save_to_file(intpdfdocument,string如果內(nèi)存中創(chuàng)建了PDF文檔cpdf_save_to_file函數(shù)就用于將該文檔輸出到文件中如果函數(shù)cpdf_opencpdf_save_to_file參見cpdf_output_buffervoidcpdf_set_current_page(intpdfdocument,intpagecpdf_set_current_page面之間切換除非該頁面已經(jīng)被cpdf_finalize_page函數(shù)結束參見voidcpdf_begin_text(intpdfcpdf_begin_text函數(shù)用于開始一個文本部分它必須由函數(shù)cpdf_end_text來結1.Text<?phpcpdf_begin_text($pdf);cpdf_set_font($pdf,16,"Helvetica",4);cpdf_text($pdf,100,100,"Some參見1.Text<?phpcpdf_begin_text($pdf);cpdf_set_font($pdf,16,"Helvetica",4);cpdf_text($pdf,100,100,"Some參見voidcpdf_end_text(intpdfcpdf_end_text函數(shù)用于結束一個用cpdf_begin_text函數(shù)開始的文本部示例1.文本輸出<?phpcpdf_begin_text($pdf);cpdf_set_font($pdf,16,"Helvetica",4);cpdf_text($pdf,100,100,"Some參見voidcpdf_show(intpdfdocument,stringcpdf_show函數(shù)用于在當前位置輸出text中的字符串參見cpdf_text voidcpdf_show_xy(intpdfdocument,stringtext,doublex-koor,y-koor,intcpdf_show_xy函數(shù)用于輸出text中的字符串輸出位置由給定坐標決定x-y- 如果該參數(shù)值為0注釋cpdf_show_xyvoidcpdf_show_xy(intpdfdocument,stringtext,doublex-koor,y-koor,intcpdf_show_xy函數(shù)用于輸出text中的字符串輸出位置由給定坐標決定x-y- 如果該參數(shù)值為0注釋cpdf_show_xy與不帶可選參數(shù)的cpdf_text函數(shù)相同參見cpdf_textvoidcpdf_text(intpdfdocument,stringtext,doublex-koor,doubley-koor,intmode,doubleorientation,intalignmode);cpdf_text函數(shù)用于在指定坐標(x-koor,y-koor)輸出text中的字符串可選參數(shù)決定單位長度如果該參數(shù)值為0或省略則將指定默認單位為該頁面使用否則坐標將orientation決定文本的旋轉(zhuǎn)角度可選參數(shù)alignmode決定文本的排列方式參見ClibPDF文檔中的可選值參見voidcpdf_set_font(intpdfdocument,stringfontname,doublesize,cpdf_set_fontpostscript體最后一個參數(shù)encoding2=macroman3=macexpert4= voidcpdf_setleading(intpdfdocument,doublecpdf_set_leading函數(shù)用于設置文本的行距如果文本要用函數(shù)cpdf_continue_text輸出就需要使用該函數(shù)參見intvoidcpdf_set_text_rendering(intpdf voidcpdf_setleading(intpdfdocument,doublecpdf_set_leading函數(shù)用于設置文本的行距如果文本要用函數(shù)cpdf_continue_text輸出就需要使用該函數(shù)參見intvoidcpdf_set_text_rendering(intpdfcpdf_set_text_rendering函數(shù)用于決定文本如何著色mode的可能值為0=本1=2=3=隱藏文本4=加到文件夾路徑中5=給文本加下劃線并將其添加到文件夾路徑中 劃線然后將其添加到文件夾路徑中7=將文本添加到文件夾路徑中voidcpdf_set_horiz_scaling(intpdfdocument,doublecpdf_set_horiz_scalingscale設置文本的矢高Setsthetextvoidcpdf_set_text_rise(intpdfdocument,doublecpdf_set_text_risevaluevoidcpdf_set_text_matrix(int設置文本的矢高Setsthetextvoidcpdf_set_text_rise(intpdfdocument,doublecpdf_set_text_risevaluevoidcpdf_set_text_matrix(intpdfdocument,arraycpdf_set_text_matrixvoidcpdf_set_text_pos(intpdfdocument,doublex-koor,doubley-koor,intmode);cpdf_set_text_pos為以后的cpdf_show最后一個可選參數(shù)決定單位長度如果它的值為 或省略了則將指定默認單位為該頁面使用否則坐標將以點作為衡量標準而不論當前所指定的單位cpdf_show,0voidcpdf_set_char_spacing(intpdfdocument,doublecpdf_set_char_spacing參見 voidcpdf_set_word_spacing(intpdfcpdf_set_word_spacing函數(shù)用于設置單詞間距參見cpdf_set_char_spacing doublevoidcpdf_continue_text(intcpdf_set_char_spacing參見 voidcpdf_set_word_spacing(intpdfcpdf_set_word_spacing函數(shù)用于設置單詞間距參見cpdf_set_char_spacing doublevoidcpdf_continue_text(intpdfdocument,stringcpdf_continue_text函數(shù)用于在下一行輸出text參見 doublecpdf_stringwidth(intpdfdocument,stringcpdf_stringwidth函數(shù)用于返回text體參見voidcpdf_save(intpdfcpdf_savepostscriptgsave相同當需要轉(zhuǎn)換或旋轉(zhuǎn)一個對象而又不能影響其他對象時該函數(shù)非常有用參見voidvoidcpdf_save(intpdfcpdf_savepostscriptgsave相同當需要轉(zhuǎn)換或旋轉(zhuǎn)一個對象而又不能影響其他對象時該函數(shù)非常有用參見voidcpdf_restore(intpdfcpdf_restore函數(shù)用于恢復用函數(shù)cpdf_save保存下來的環(huán)境它的作用與grestore1<?php//doallkindsofrotations,transformations,...cpdf_restore($pdf)?>參見voidcpdf_translate(intpdfdocument,doublex-koor,doubley-koor,cpdf_translate函數(shù)用于設置坐標系的原點x-koor,y-0頁面使用否則坐標將以點作為衡量標準而不論當前所設置的單位voidcpdf_scale(intpdfdocument,doublex-scale,cpdf_scalecpdf_translate函數(shù)用于設置坐標系的原點x-koor,y-0頁面使用否則坐標將以點作為衡量標準而不論當前所設置的單位voidcpdf_scale(intpdfdocument,doublex-scale,cpdf_scalevoidcpdf_rotate(intpdfdocument,doublecpdf_rotate函數(shù)用于將文檔向下旋轉(zhuǎn)anglevoidcpdf_setflat(intpdfdocument,doublecpdf_setflat0100linejoinvoidcpdf_setlinejoin(intpdfdocument,longcpdf_setlinejoinlinejoin02之間的值其中圓 斜斜接linejoinvoidcpdf_setlinejoin(intpdfdocument,longcpdf_setlinejoinlinejoin02之間的值其中圓 斜斜接voidpdfdocument,intcpdf_setlinecap020=2=1=voidcpdf_setmiterlimit(intpdfdocument,doublecpdf_setmiterlimit1voidcpdf_setlinewidth(intpdfdocument,doublecpdf_setlinewidthvoidcpdf_setdash(intpdfdocument,doublewhite,doublecpdf_setdashvoidcpdf_setlinewidth(intpdfdocument,doublecpdf_setlinewidthvoidcpdf_setdash(intpdfdocument,doublewhite,doublecpdf_setdashwhite為白色單位black位voidcpdf_moveto(intpdfdoublex-koor,doubley-koor,intcpdf_moveto函數(shù)用于將位于坐標x-koory-koor0voidcpdf_rmoveto(intpdfdocument,doublex-koor,doubley-koor,cpdf_rmoveto函數(shù)用于將當前點設置成坐標x-koor和y-koor最后一個可選參數(shù)決定單位長度如果它的值為0或省略了該頁面使用參見voidcpdf_curveto(intpdfdocument,doublex1,doubley1,doublex2該頁面使用參見voidcpdf_curveto(intpdfdocument,doublex1,doubley1,doublex2,y2,doublex3,doubley3,intcpdf_curveto函數(shù)用于繪制一條貝塞爾曲線它的起點是當前點終點為點 此外用點(x1,y1)和(x2,y2)作為控制最后一個可選參數(shù)決定單位長度如果它的值為 或省略了將指定默認單位為該頁面使用否則坐標將以點作為衡量標準而不論當前所指定的單位參見 cpdf_rlineto0voidcpdf_lineto(intpdfdocument,doublex-koor,doubley-koor,intcpdf_lineto函數(shù)用于繪制一條從當前點到坐標為(x-koor,y-koor)的點的直0頁面使用否則坐標將以點作為衡量標準而不論當前所指定的單位參見 voidcpdf_rlineto(intpdfdocument,doublex-koor,doubley-koor,cpdf_rlineto函數(shù)用于繪制一條從當前點到與坐標(x-koor,y-koor)相對的點的線0面使用否則坐標將以點作為衡量標準而不論當前所指定的單位參見 voidcpdf_rlineto(intpdfdocument,doublex-koor,doubley-koor,cpdf_rlineto函數(shù)用于繪制一條從當前點到與坐標(x-koor,y-koor)相對的點的線0面使用否則坐標將以點作為衡量標準而不論當前所指定的單位參見 voidcpdf_circle(intpdfdocument,doublex-koor,doubley-koor,radius,intcpdf_circle函數(shù)用于繪制一個圓圓心為點(x-koor,y- 半徑為0面使用否則坐標將以點作為衡量標準而不論當前所指定的單位參見doublestart,doubleend,intmode);cpdf_arc函數(shù)用于繪制一段弧線其中心在點(x-koor,y- 半徑為start0頁面使用否則坐標將以點作為衡量標準而不論當前所指定的單位參見voidcpdf_rect(intpdfdocument,doublex-koor,doubley-koor,voidcpdf_rect(intpdfdocument,doublex-koor,doubley-koor,doubledoubleheight,intcpdf_rect函數(shù)用于繪制一個矩widgth其左下角坐標為(x-koor,y-寬為最后一個可選參數(shù)決定單位長度如果它的值為0或省略了該頁面使用voidcpdf_closepath(intpdfcpdf_closepathvoidcpdf_stroke(intpdfcpdf_stroke函數(shù)用于沿當前路徑繪制線條參見cpdf_closepath voidcpdf_closepath_stroke(intpdfcpdf_closepath_stroke函數(shù)是cpdf_closepathcpdf_stroke參見 voidcpdf_fill(intpdfcpdf_fill函數(shù)使用當前填充色填充當前路徑的內(nèi)參見voidcpdf_closepath_stroke(intpdfcpdf_closepath_stroke函數(shù)是cpdf_closepathcpdf_stroke參見 voidcpdf_fill(intpdfcpdf_fill函數(shù)使用當前填充色填充當前路徑的內(nèi)參見 填充當前路徑并繪制當前路徑voidcpdf_fill_stroke(intpdfcpdf_fill_stroke參見 閉合填充并繪制當前路徑voidcpdf_closepath_fill_stroke(intpdfcpdf_closepath_fill_stroke參見 voidpdfcpdf_clipvoidcpdf_setgray_fillvoidcpdf_closepath_fill_stroke(intpdfcpdf_closepath_fill_stroke參見 voidpdfcpdf_clipvoidcpdf_setgray_fill(intpdfdocument,doublecpdf_setgray_fill函索將用當前所設置的灰色去填充路徑參見cpdf_setrgbcolor_fillvoidcpdf_setgray_stroke(intpdfdocument,doublegraycpdf_setgray_stroke函數(shù)將當前繪制色設置成給定的灰色參見cpdf_setrgbcolor_strokevoidcpdf_setgray(intpdfdocument,doublegraycpdf_setgray_stroke函數(shù)將當前繪制色和填充色都設成給定的灰色參見cpdf_setrgbcolor_stroke voidcpdf_setgray(intpdfdocument,doublegraycpdf_setgray_stroke函數(shù)將當前繪制色和填充色都設成給定的灰色參見cpdf_setrgbcolor_stroke voidcpdf_setrgbcolor_fill(intpdfdocument,doubleredgreenvalue,doublebluevalue);參見 value,voidcpdf_setrgbcolor_stroke(intpdfdocument,doubleredgreenvalue,doublebluevalue);cpdf_setrgbcolor_strokeRGB參見 value,RGBvoidcpdf_setrgbcolor(intpdfdocument,doubleredvalue,doublegreenvalue,doublebluevalue);cpdf_setrgbcolor_strokeRGB參見 RGBvoidcpdf_setrgbcolor(intpdfdocument,doubleredvalue,doublegreenvalue,doublebluevalue);cpdf_setrgbcolor_strokeRGB參見 voidcpdf_add_outline(intpdfdocument,stringcpdf_add_outline的1$cpdf=cpdf_open(0);cpdf_page_init($cpdf,1,0,595,842);cpdf_add_outline($cpdf,0,0,0,1,"Pagesomevoidcpdf_set_page_animation(intpdfdocument,inttransition,cpdf_set_page_animationtransition234567duration的值是頁面之間轉(zhuǎn)變cpdf_set_page_animationtransition234567duration的值是頁面之間轉(zhuǎn)變所需的秒打開一幅J

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論