2014-10-22
閱讀(17) 作者(admin)
本章講述幾個(gè)常用的 PHP 數(shù)組內(nèi)部函數(shù)。 在前面我們已經(jīng)介紹過PHP 數(shù)組,創(chuàng)建一個(gè)數(shù)組用 array() 函數(shù),刪除一個(gè)數(shù)組元素用 unset() 函數(shù)。本章節(jié)我們還要學(xué)習(xí)一些其它常用的有關(guān)數(shù)組的內(nèi)部函數(shù)。 count,sizeof count -...
2014-10-22
閱讀(19) 作者(admin)
情況1: father.php如下定義: 復(fù)制代碼 代碼如下: <?php $jack = 1000; ?> children.php 如下定義: <?php require("father.php"); $jack=123; echo $jack."/n"; ?> php children.php 運(yùn)行輸出為123. 如果將$jack=123注...
2014-10-22
閱讀(25) 作者(admin)
php教程:數(shù)組聲明,遍歷,數(shù)組全局變量
復(fù)制代碼 代碼如下: <? /* * 一、數(shù)組的概述 * 1.數(shù)組的本質(zhì):管理和操作一組變量,成批處理 * 2.數(shù)組時(shí)復(fù)合類型(可以存儲多個(gè)) * 3.數(shù)組中可以存儲任意長度的數(shù)據(jù),也可以存儲任意類...
2014-10-22
閱讀(13) 作者(admin)
【造成原因】:Because PHP's integer type is signed, and many IP addresses will result in negative integers.【解決辦法】:其官方手冊中提到,可以“you need to use the "%u" formatter of sprintf() or printf() t...
2014-10-22
閱讀(19) 作者(admin)
如何將四個(gè)字段以點(diǎn)分開的IP網(wǎng)絡(luò)址協(xié)議地址轉(zhuǎn)換成整數(shù)呢?PHP里有這么一個(gè)函數(shù)ip2long.比如復(fù)制代碼 代碼如下:<?phpecho ip2long("10.2.1.3");?>我們將得到167903491
這是如何計(jì)算的,目前我知道有兩個(gè)算法。其一復(fù)制代...
2014-10-22
閱讀(12) 作者(admin)
函數(shù)代碼一:刪除目錄及目錄下的所有文件復(fù)制代碼 代碼如下://循環(huán)刪除目錄和文件函數(shù)function delDirAndFile( $dirName ){if ( $handle = opendir( "$dirName" ) ) {while ( false !== ( $item = readdir( $handle )...
2014-10-22
閱讀(13) 作者(admin)
最近導(dǎo)出的時(shí)候出現(xiàn)一個(gè)php內(nèi)存溢出的問題,原因就是在于下載的時(shí)候讀取生成的臨時(shí)文件過大,PHP內(nèi)存無法容納,一開如是想到更改PHP內(nèi)存限制,但是這個(gè)只是一個(gè)緩兵之計(jì),于是想到了另外一個(gè)方法是把文件分次讀取,并下載。 以下...
2014-10-22
閱讀(15) 作者(admin)
PHP轉(zhuǎn)換文件夾下所有文件的編碼 適合發(fā)布網(wǎng)站的其他編碼版本 比如你有一個(gè)GBK版本 你想有一個(gè)UTF8版本 或者你只有GBK的源碼 你想二次開發(fā) 但是你不想改變IDE的編碼方式 你可以用這個(gè)程序?qū)⑵渑哭D(zhuǎn)化為UTF8:代碼如下:...
2014-10-22
閱讀(12) 作者(admin)
復(fù)制代碼 代碼如下: function resizeimage($srcfile,$mySize){ $size=getimagesize($srcfile); switch($size[2]){ case 1: $img=imagecreatefromgif($srcfile); break; case 2: $img=imagec...
2014-10-22
閱讀(16) 作者(admin)
縮進(jìn)與空白字符(Indenting and Whitespace)使用 2 個(gè)空格而不使用 tab 鍵進(jìn)行代碼縮進(jìn)(notepad++, Eclipse 等編輯器均支持此項(xiàng)配置);行尾不應(yīng)該有空白字符應(yīng)使用 /n (Unix換行符),而不是 /r/n (Windows 換行符)所有文件均應(yīng)以...
2014-10-22
閱讀(22) 作者(admin)
第一種方法:復(fù)制代碼 代碼如下:<?phpheader("Content-type: text/xml");echo "<?xml version=/"1.0/" encoding=/"UTF-8/"?>";echo "<users>";echo "<user>"; echo "<name>"; echo...
2014-10-22
閱讀(25) 作者(admin)
做過好多抓取別家網(wǎng)站內(nèi)容的產(chǎn)品,習(xí)慣了使用方便快捷的file_get_contents函數(shù),但是總是會遇到獲取失敗的問題,盡管按照手冊中的例子設(shè)置了超時(shí),可多數(shù)時(shí)候不會奏效:復(fù)制代碼 代碼如下:$config['context'] = stream_context...
2014-10-22
閱讀(11) 作者(admin)
目的: 為了防止sql注入,tid,goods_id都是正整數(shù)類型,防止人為了在后面追加 ?tid=1 or 1 這樣的語句.原理: 不管你的參數(shù)多么險(xiǎn)惡,+0后都老老實(shí)實(shí)變成數(shù)值類型比如 '?tid=1 or 1' , $_GET['tid']+0 后值變成1;有學(xué)生問...
2014-10-22
閱讀(14) 作者(admin)
在用PHP記錄日志,或者是 Ajax 請求出錯想要 debug 的時(shí)候。我們一般都會將信息寫入到一個(gè)指定的文件當(dāng)中。然后根據(jù)相應(yīng)的信息來處理問題。比如筆者最喜歡在用 Ajax 取不到數(shù)據(jù)的時(shí)候,在PHP腳本里面加上下面一段代碼復(fù)...
2014-10-22
閱讀(16) 作者(admin)
PHP是一門弱類型的語言。這是它的優(yōu)勢和特點(diǎn),但是有的時(shí)候你又不得不對類型進(jìn)行相應(yīng)的轉(zhuǎn)換。這個(gè)時(shí)候問題就來了。因?yàn)楹芏嗲闆r下,你會發(fā)現(xiàn)轉(zhuǎn)換類型之后得到的數(shù)據(jù)和預(yù)期的值相差老大一截。這里我以強(qiáng)制轉(zhuǎn)換為整形作為...
2014-10-22
閱讀(15) 作者(admin)
我們配置php環(huán)境的時(shí)候往往都會寫phpinfo();這個(gè)函數(shù)來測試php環(huán)境是否安裝成功,但往往這個(gè)函數(shù)也會給系統(tǒng)帶來安全隱患,那么如何讓關(guān)掉這個(gè)函數(shù)呢?下面介紹一種方法:修改php.ini文件,在里面找到如下行,復(fù)制代碼 代碼如下:disa...
2014-10-22
閱讀(25) 作者(admin)
PHP比較運(yùn)算符出現(xiàn)的頻率實(shí)在是太高了,尤其是 ==if(a == b){// do something}但是,你真的掌握了 == 了嗎?細(xì)節(jié)很重要!來看下面的代碼,說出你認(rèn)為正確的答案var_dump(' 123fg456'==123);var_dump('some string' == 0);var_...
2014-10-22
閱讀(16) 作者(admin)
很多時(shí)候我們需要對數(shù)據(jù)進(jìn)行加密解密,比如有些數(shù)據(jù)需要保存到cookie中,但又不能被用戶輕易得到這些數(shù)據(jù),這時(shí)我們就需要加密這些數(shù)據(jù)保存到cookie中,等我們需要使用它們的時(shí)候再解密。加密的過程如下:復(fù)制代碼 代碼如下://...
2014-10-22
閱讀(16) 作者(admin)
第一種方法復(fù)制代碼 代碼如下:<?php $FileID=date("Ymd-His") . '-' . rand(100,999); //$FileID為 20100903-132121-908 這樣的的隨機(jī)數(shù)?>第二種方法復(fù)制代碼 代碼如下:<?phpfunction randomkeys($length)...
2014-10-22
閱讀(20) 作者(admin)
有關(guān) PHP 的 empty(),isset() 還有 is_null() 這三個(gè)函數(shù)的用法討論得已經(jīng)很多了,而且很多資料也未必能說得很清楚。這里再重復(fù)一次,但不是從概念去說,直接用程序例子來說話,應(yīng)該記憶會比較深刻些。測試的類型如下:復(fù)制代碼...
2014-10-22
閱讀(19) 作者(admin)
序列化是將變量轉(zhuǎn)換為可保存或傳輸?shù)淖址倪^程;反序列化就是在適當(dāng)?shù)臅r(shí)候把這個(gè)字符串再轉(zhuǎn)化成原來的變量使用。這兩個(gè)過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù),使程序更具維護(hù)性。1. serialize和unserialize函數(shù)這兩...
2014-10-22
閱讀(15) 作者(admin)
MVC MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型(M)、視圖(V)、控制器(C),它們各自處理自己的任務(wù)。
視圖 :視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程...
2014-10-22
閱讀(18) 作者(admin)
在很多場合為了顯示出信息的及時(shí)性,一般會將時(shí)間顯示成“剛剛”,“5分鐘前”,“3小時(shí)前”等,而不是直接將時(shí)間打印出來。比如微博,SNS類應(yīng)用就最長用到這個(gè)功能。而一般存儲在數(shù)據(jù)庫中的時(shí)間格式為 Unix時(shí)間戳,所以這里記錄...
2014-10-22
閱讀(16) 作者(admin)
header常用指令header分為三部分:第一部分為HTTP協(xié)議的版本(HTTP-Version);第二部分為狀態(tài)代碼(Status);第三部分為原因短語(Reason-Phrase)。// fix 404 pages: 用這個(gè)header指令來解決URL重寫產(chǎn)生的404 headerheader...
2014-10-22
閱讀(19) 作者(admin)
1、入門簡介簡單的說,正則表達(dá)式是一種可以用于模式匹配和替換的強(qiáng)有力的工具。我們可以在幾乎所有的基于UNIX系統(tǒng)的工具中找到正則表達(dá)式的身影,例如,vi編輯器,Perl或PHP腳本語言,以及awk或sed shell程序等。此外,象JavaSc...