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
Easter Eggs(複活節彩蛋)外行人估計不瞭解這是神木玩意,彩蛋的網路解釋是:用於電腦、電子遊戲、電腦遊戲、影碟或其他互動多媒體之中的隱藏功能或資訊。PHP包含一個安全性漏洞,可能導致未經授權的資訊披露,如果你正在運行PHP,就有可能會被人發現PHP版本和其他敏感資訊。我覺得有必要解決這個彩蛋問題來確保你網站的安全性。PHP彩蛋是如何運作的只要運行PHP的伺服器上,訪問任何網頁都可以在網域名稱後添加以下字串來查看資訊:複製代碼
Time of Update: 2017-01-19
不是固若金湯,隨著PHP的廣泛運用,一些駭客們也在無時不想找PHP的麻煩,通過PHP程式漏洞進行攻擊就是其中一種。在節,我們將從全域變數,遠程檔案,檔案上傳,庫檔案,Session檔案,資料類型和容易出錯的函數這幾個方面分析了PHP的安全性。如何通過全域變數進行攻擊?PHP中的變數不需要事先聲明,它們會在第一次使用時自動建立,它們的類型根據上下文環境自動確定。從程式員的角度來看,這無疑是一種極其方便的處理方法。一旦一個變數被建立了,就可以在程式中的任何地方使用。這個特點導致的結果就是程式員很少初
Time of Update: 2017-01-19
通過這節課,1.瞭解AppServ的目錄結構2.我們可以瞭解PHP的基本文法結構1 我的AppServ安裝目錄是E盤:①運用命令列的方式去操作apache伺服器apache伺服器的開啟和關閉:httpd -k restart //重啟httpd -k stop //關閉httpd -k start //開啟如果修改連接埠的話,可以在下面的目錄進行修改:AppServ\Apache2.2\conf 中的
Time of Update: 2017-01-19
目標規劃:通過第一節課,我們可以瞭解php環境.1.環境的認識:2.存取方法:3.修改代碼及查看.4.變數的使用5.代碼縮排要有層次關係,而且代碼之間最好保留空行6.變數命名:7.變數的輸出:8.變數的三種方法:1.環境的認識:軟體下載地址: http://www.jb51.net/softs/24445.html安裝教程非常簡單,可以自己百度一下安裝之後的目錄結構:2.存取方法:直接在瀏覽器輸入:localhost
Time of Update: 2017-01-19
下面將介紹安裝php的memcached用戶端安裝步驟1、下載安裝libmemcached用戶端官網地址:http://libmemcached.org/libMemcached.html$wget -c https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz#親 千萬不要下載1.0.17哦 有bug$tar -zxvf libmemcached-1.0.16.tar.gz$cd
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
substr()函數用來截取字串,但是對於中文字元會出現問題,而mb_substr()和mb_strcut這兩個函數可以,用法與substr()相似,只是在函數最後要加入多一個參數,以設定字串的編碼,使用這兩個函數需要在php.ini中把php_mbstring.dll開啟。<?php header("content-type:text/html; charset=utf-8");$string = "你好我好大家好";echo
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
在將html頁面整合到ci架構裡面的時候,載入css和js失敗,弄了半天發現ci架構是入口的架構,對架構中檔案的所有請求都需要經過index.php處理完成,當載入外部的css和js檔案的時候要使用base_url()函數處理外部的連結。比如:在config設定檔中的base_url為:" localhost:8080/項目名稱/ "在控制器中訪問application/resource/aaa.js檔案相對路徑<script src= "resource/aaa.js"></
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
很多圖片網站都會根據使用者上傳的圖片檢索出圖片的主要顏色值,然後在通過顏色搜尋相關的圖片。之前按照網上的方法將圖片縮放(或者馬賽克)然後遍曆每個像素點,然後統計處RGB次數最多的值,這做法效率太低而且取到的RGB值不夠精確。之後才發現使用Imagick的quantizeImage方法能夠很方便的取到圖片中平均的RGB值.$average = new Imagick("xiaocai.jpg");$average->quantizeImage( 10,
Time of Update: 2017-01-19
伺服器配置說明:1.在php.ini檔案中找到;extension=php_exif.dll,去掉前面的分號2.在php.ini檔案中找到;extension=php_mbstring.dll,去掉前面的分號,並將此行移動到extension=php_exif.dll之前,使之首先載入*。3.找到[exif]段,把下面語句的分號去掉。;exif.encode_unicode = ISO-8859-15;exif.decode_unicode_motorola =
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
PHP的MVC編程思想目前已經被廣泛使用於各種大型項目的開發,很多成熟的MVC架構也逐漸被大家所熟知並被廣泛應用於各類項目中,比較常見的如ThinkPHP、codeigniter、Symfony、yii、cakePHP等等。本文就來簡述一下php的MVC程式設計思想。一、什麼是MVC簡單的說就是將網站源碼分類、分層。MVC三個字母的含義:M:Model 模型,負責資料庫操作。V:View 視圖,負責調用Model調取資料,再調用模板,展示出最終效果。C:Controller 控制器,程式的入口,