Time of Update: 2017-01-19
html代碼:<div id="images" style="width:250px;height:120px;background:#fff;border:1px solid #ccc;"> <h2><strong>圖片匯入</strong></h2> <form enctype="multipart/form-data" action="./includer/importimg.inc.php?action=
Time of Update: 2017-01-19
這裡的資料可以為基礎資料型別 (Elementary Data Type),數組,對象等;在儲存的時候可以用serialize進行序列化,但取的時候要先用unserialize還原序列化。<?php $data = array("上海","西安","北京"); //將數組存到指定的text檔案中 file_put_contents("E:/data.txt",serialize($data)); //擷取資料 $datas =
Time of Update: 2017-01-19
有時候在使用php上傳安卓apk包的時候,我們需要擷取安卓apk包內的資訊,本文以執行個體形式講述了php擷取apk包資訊的方法。具體實現方法如下:<?php/*解析安卓apk包中的壓縮XML檔案,還原和讀取XML內容依賴功能:需要PHP的ZIP包函數支援。*/include('./Apkparser.php');$appObj = new Apkparser(); $targetFile = a.apk;//apk所在的路徑地址$res =
Time of Update: 2017-01-19
目前學習PHP很多朋友,在平時的日常程式開發工程中總會遇到各種各樣的問題,本篇經驗將為大家介紹PHP開發中10個最常見的問題,希望能夠對朋友有所協助。錯誤1:foreach迴圈後留下懸掛指標 在foreach迴圈中,如果我們需要更改迭代的元素或是為了提高效率,運用引用是一個好辦法:$arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6,
Time of Update: 2017-01-19
不是固若金湯,隨著PHP的廣泛運用,一些駭客們也在無時不想找PHP的麻煩,通過PHP程式漏洞進行攻擊就是其中一種。在節,我們將從全域變數,遠程檔案,檔案上傳,庫檔案,Session檔案,資料類型和容易出錯的函數這幾個方面分析了PHP的安全性。如何通過全域變數進行攻擊?PHP中的變數不需要事先聲明,它們會在第一次使用時自動建立,它們的類型根據上下文環境自動確定。從程式員的角度來看,這無疑是一種極其方便的處理方法。一旦一個變數被建立了,就可以在程式中的任何地方使用。這個特點導致的結果就是程式員很少初
Time of Update: 2017-01-19
一直以為,return只能出現在函數中,直到看了bbPress的代碼:<?phprequire_once('./bb-load.php');bb_repermalink(); // The magic happens here.if ( $self ) { if ( strpos($self, '.php') !== false ) { require($self); } else { require( BB_PATH . 'profile-base.php' ); }
Time of Update: 2017-01-19
1、插入一條記錄$data = array('title' => 'My title' ,'name' => 'My Name' ,'date' => 'My date');$this->db->insert('mytable', $data);// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')2、插入多條記錄$data =
Time of Update: 2017-01-19
先說說switch()語句的格式switch(運算式){case 匹配1:當匹配1和運算式匹配成功執行的代碼;break;case 匹配2:當匹配2和運算式匹配成功執行的代碼;break;default:如果case語句沒有與運算式成功所執行的代碼;}理解 switch 是怎樣執行的非常重要。switch 語句一行接一行地執行(實際上是語句接語句)。開始時沒有代碼被執行。僅當一個 case 語句中的值和 switch 運算式的值匹配時 PHP 才開始執行語句,直到 switch
Time of Update: 2017-01-19
先來看個例子:需求為產生4位元,不足前面補0<?php //產生4位元,不足前面補0 $var=sprintf("%04d", 2);echo $var;//結果為0002 echo date('Y_m_d', time()).'_'.sprintf('d', rand(0,99));?>sprintf()函數有沒有感覺很像c語言1.
Time of Update: 2017-01-19
通常來說在php讀取大檔案的時候,我們採用的方法一般是一行行來講取,而不是一次性把檔案全部寫入記憶體中,這樣會導致php程式卡死,下面就給大家介紹這樣一個例子。讀取大檔案最後幾行資料:<?php/** * 取檔案最後$n行 * * @param string $filename 檔案路徑 * @param int $n 最後幾行 * @return mixed false表示有錯誤,成功則返回字串 */function FileLastLines($filename, $n){
Time of Update: 2017-01-19
function hex2rgb($hex) {$color = str_replace('#','',$hex);$rgb = array('r' => hexdec(substr($color,0,2)),'g' => hexdec(substr($color,2,2)),'b' => hexdec(substr($color,4,2)));return $rgb;} // www.jb51.netfunction rgb2cmyk($var1,$g=0,$b=0)
Time of Update: 2017-01-19
如果要在某個數組中刪除一個元素,可以直接用的unset,但是數組的索引不會重排:<?php $arr = array('a','b','c','d');unset($arr[1]);print_r($arr);?>結果是:Array ( [0] => a [2] => c [3] => d ) 那麼怎麼才能做到缺少的元素會被填補並且數組會被重新索引呢?答案是array_splice():<?php $arr = array('
Time of Update: 2017-01-19
在編程中查手冊是少不了的,所以要會學著使用已有的東西,就如PHP中的數組處理函數已經有排序函數了,為什麼還要在寫東西是費著勁去寫冒泡或者堆排或者快排呢。 編程是間接的過程,也是重用的過程,要寫出好的代碼是少不了設計模式來做支撐的,可能對初學者來說學習設計模式有些吃力(就像我當初看設計模式時,真是有點費勁),不過等你的代碼量有一定積累時,在研究設計模式時,感覺設計模式真的挺有用的,能協助你寫出漂亮的代碼。說著說著有點跑偏了,還是來總結一下php中對數組操作的常用函數吧。 以下總結的數組常用的函
Time of Update: 2017-01-19
error與exception的區別查閱網上資料大多是java的解釋,貌似php的異常處理過程與java差不多java中的Object繼承結構如下:Object---->Throwable--------> Exception ----> RuntimeException | ErrorError都是unchecked類型 Exception分為checked 與
Time of Update: 2017-01-19
當今很多常用的CMS系統都帶有安裝程式,為了使用者的使用方便,新下載的系統在使用前,都會判斷該CMS系統是否已經安裝過,若安裝了則就給出提示,不需要重複安裝,若未安裝則進入安裝介面,指導使用者按步驟順利安裝CMS,那麼基於PHP環境的CMS到底是如何用代碼來實現這種判斷機制呢?下面通過一個執行個體代碼加以說明:<?phpdefine("PHPOK_SET",true);define("APP_ID","www");//定義應用的根目錄!(這個不是系統的根目錄)本程式將應用目錄限制在
Time of Update: 2017-01-19
配置環境如下:Win2003SP2+IIS6+php5.26+mysql5.0.51a+zend3.3a+PhpMyAdmin2.11.7.1 PHP執行方式:isapi。Mysql為手動安裝。關於“記憶體位置訪問無效”的
Time of Update: 2017-01-19
php再調用json_decode從字串對象產生json對象時,如果使用[]操作符取資料,會得到下面的錯誤:複製代碼 代碼如下:Cannot use object of type stdClass as array產生原因:複製代碼 代碼如下:$res = json_decode($res);$res['key']; //把 json_decode() 後的對象當作數組使用。解決方案(2種):1、使用 json_decode($d, true)。就是使json_decode 的第二個變數設定為
Time of Update: 2017-01-19
今天在CSDN看到一個php輸出空白隱形字元65279的問題,在網上找了下,發下這個65279字元是php用來標記檔案是utf-8編碼的,輸出的時候會一起輸出到用戶端,導致用戶端如果使用ajax得到傳回值時,無法匹配字串。php隱形字元65279解釋如下:UTF-8 編碼的檔案可以分為無 BOM 和 BOM 兩種格式。何謂BOM? "EF BB BF" 這三個位元組就叫BOM,全稱是"Byte Order
Time of Update: 2017-01-19
前段時間在flashseer看到有人提到:可以通過socket方式傳送swf檔案,讓使用者無法擷取到swf檔案… 當時還沒有出as3的反編譯,所以對程式的保護沒有在意.隨著反編譯器的平民化,不希望別人看到原始碼的朋友就比較著急…通過socket方式傳送swf檔案來避免泄漏原始碼的思路(只適用as3): 讓主程式的loader(前台swf)通過socket串連到背景程式,然後請求需要的主程式檔案.後台讀取主程式資料通過socket發送給主程式的
Time of Update: 2017-01-19
核心代碼:<?php//建立一個memcache對象執行個體$memcache = new Memcache;if(!$memcache->connect("127.0.0.1",11211)){die('串連失敗');}if($memcache->set('key1',"xian",MEMCACHE_COMPRESSED,60)){echo 'sucess!';}//存值,其中xian字串,也可以為數組,對象,但不能為資源$val =