Time of Update: 2017-01-19
php面試題的題目: $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //計算出 $b 相對於 $a 的相對路徑應該是 ../../c/d php面試題的答案: 複製代碼 代碼如下: function getRelative($a,$b) { $arr = explode("/",$a); $brr = explode("/",$b); $c = count($arr)-2; $d = count($brr)-2;
Time of Update: 2017-01-19
php面試題說明 : 例如:my name is fanglor =》 ym eman si orlgnaf php面試題的答案: 複製代碼 代碼如下: function restr ($str) { $str1 = explode (' ',$str); $str2 = ''; $temp = ''; for ($i=0;$i<count ($str1);$i++) { $str2 .= $temp.strrev ($str1[$i]); $temp = ' '; } return
Time of Update: 2017-01-19
這就是今天討論的主要問題。PHP協助文檔裡面關於PHP通過header觸發下載的說明比較簡單,而網上關於此方面的文章也少的可憐,有很多文章都無法實現所需要的效果。今天我也來談一下這個方面的話題,如果你感覺比網上的某些文章有所改進,那我就很知足了。 如果從準確的角度來說,那PHP文檔是最準確的,因為它很簡練的列出了實現文本類檔案觸發下載所需要的三條語句,以PDF為例就是: 複製代碼 代碼如下: // We'll be outputting a PDF header('Content-type:
Time of Update: 2017-01-19
今天在整理資料的時候發現以前找到的一個函數,通過這個函數我們就可以實現上面的功能。 主要函數: 複製代碼 代碼如下: function GrabImage($url,$filename="") { if($url=="") return false; if($filename=="") { $ext=strrchr($url,"."); if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false;
Time of Update: 2017-01-19
函數的原理很簡單,主要就是用了一下遞迴調用。 複製代碼 代碼如下: function file_list($path){ if ($handle = opendir($path)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (is_dir($path."/".$file)) { echo $path.":
Time of Update: 2017-01-19
經常,開發人員發現在PHP中使用這種資料結構對值或者數組元素進行排序非常有用。PHP提供了一些適合多種數組的排序函數,這些函數允許你在數組內部對元素進行排列,也允許用很多不同的方法對它們進行重新排序。在這篇文章中我們將討論該排序中最重要的幾個函數。 簡單排序 首先,讓我們來看看最簡單的情況:將一個數組元素從低到高進行簡單排序,這個函數既可以按數字大小排列也可以按字母順序排列。PHP的sort()函數實現了這個功能,如Listing A所示: Listing A 複製代碼 代碼如下:
Time of Update: 2017-01-19
複製代碼 代碼如下: $arr = array(345,4,17,6,52,16,58,69,32,8,234); for($i=1;$i<count($arr);$i++){ for($j=count($arr)-1;$j>=$i;$j--){ if($arr[$j]<$arr[$j-1]){ $temp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $temp; } } } 基本概念
Time of Update: 2017-01-19
今天在測試php程式的時候,出現了一個錯誤提示:Cannot use a scalar value as an array,這個錯誤提示前幾天也出過,當時好像稍微調了一下就好了,也沒深究,今天卻又出現了。 不能再糊弄了,得找出原因和解決辦法,於是我就去網上搜啊找啊,找了很久都沒找到結果,不是網上搜不到這樣的問題,而是很少有人做正面的準確的回答。最後這篇文章的一段文字讓我一下子弄明白了怎麼回事。 —————————————- 需要注意的是類型的轉換:
Time of Update: 2017-01-19
這裡,一般都需要預先將正常的字串編碼成 JavaScript unescape() 函數能夠解譯的格式,以 PHP 為例,可以使用以下函數實現 Javascript 中 escape() 函數相同的功能: 複製代碼 代碼如下: <?php function escapeToHex($string, $encoding = UTF-8) { $return = ; for ($x = 0; $x < mb_strlen($string, $encoding); $x ++) {
Time of Update: 2017-01-19
GB2312編碼: 複製代碼 代碼如下: function unescape($str) { $str = rawurldecode($str); preg_match_all("/%u.{4}|.{4};|d+;|.+/U",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u") $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)
Time of Update: 2017-01-19
//編譯安裝php 5.3.3 由於php5.3.X已經內建了php-fpm所以不需要打補丁 # sudo ./configure --prefix=/usr/local/php-5.3.3 --with-mcrypt --with-gettext --with-mysql --with-gd --with-jpeg-dir --with-png-dir --with-curl --with-freetype-dir --enable-gd-native-ttf
Time of Update: 2017-01-19
1.Memcache相關介紹 memcache是一個高效能的分布式的記憶體對象緩衝系統,它能夠用來儲存各種格式的資料,包括映像、視頻、檔案以及資料庫檢索的結果等。 使用Memcache的網站一般流量都是比較大的,為了緩解資料庫的壓力,讓Memcache作為一個快取區域,把部分資訊儲存在記憶體中,在前端能夠迅速的進行存取。 2.Memcache Win32的安裝 (1)下載地址: http://www.jehiah.cz/projects/memcached-win32/ (2)安裝步驟:
Time of Update: 2017-01-19
如果使用sql語句做的話 工作量太大了,於是嘗試自己寫一個交叉表的類,好二話不說,我們看看代碼 複製代碼 代碼如下: /** * 基本交叉表 * @author hugh * */ class Pivot { private $HORIZONTAL_TOTAL_FIELD = 'total'; private $VERTICAL_TOTAL_FIELD = 'total'; private $data; private $topPivot; private $leftPivot;
Time of Update: 2017-01-19
公司有幾個網站搭在美國的虛擬機器主機上,伺服器上的mysql服務差不多每一天都會突然不知什麼時候掛掉,然後過一會又恢複了,懷疑是超出cpu的使用限制而被自動結束了,但是實際上該伺服器上的流量很小。於是早先的時候聯絡了伺服器供應商的印度阿三客服,想看看是不是其他使用者搞多了害的大家一起死,阿三們尋找了之後,信誓旦旦的拍著長毛的胸部保證不是他們的問題,事情沒有解決。懸著不是個事,只好自己查了,好在可以訪問到information_schema庫,看了看,沒話了,user_statistics裡面的資
Time of Update: 2017-01-19
Memcache常用方法 Memcache::add — 添加一個值,如果已經存在,則返回false Memcache::addServer — 添加一個可供使用的伺服器位址 Memcache::close — 關閉一個Memcache對象 Memcache::connect — 建立一個Memcache對象 Memcache::debug — 控制調試功能 Memcache::decrement — 對儲存的某個key中的值進行減法操作 Memcache::delete — 刪除一個key值
Time of Update: 2017-01-19
主要區別是兩個或者多個數組中如果出現相同鍵名,鍵名分為字串或者數字,需要注意 1)鍵名為數字時,array_merge()不會覆蓋掉原來的值,但+合并數組則會把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉(不是覆蓋) 2)鍵名為字元時,+仍然把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉,但array_merge()此時會覆蓋掉前面相同鍵名的值 需要注意的是數組鍵形式 '數字' 等價於 數字 複製代碼 代碼如下: $a = array(
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php #******************************************* #作用:頁面無操作,自動到期函數 #參數:$onlinetime 當前頁面最後一次使用時間 #參數:$interval 頁面逾時時間 #返回:無 #******************************************* function user_mktime($onlinetime,$interval){ $new_time = mktime();
Time of Update: 2017-01-19
有時候用phpMyAdmin的時候會突然出現這個錯誤資訊 “無法在發生錯誤時建立會話,請檢查 PHP 或網站伺服器日誌,並正確配置 PHP 安裝” 也不知道到底是怎麼導致這錯誤資訊的,而我有時候把apache重啟一下,再登入就行了,有時候把機器重啟也可以 但今天2種方法都試了,還是不行,我的登入URL是 http://computer-name:8080 然後我嘗試著使用 http://127.0.0.1:8080 進行登入,結果就可以了... 使用127.0.0.1登入成功後,退出,之後再用
Time of Update: 2017-01-19
1.製作PHP安裝程式的原理 其實PHP程式的安裝原理無非就是將資料庫結構和內容匯入到相應的資料庫中,從這個過程中重新設定串連資料庫的參數和檔案,為了保證不被別人惡意使用安裝檔案,當安裝完成後需要修改安裝檔案。 2. 製作PHP安裝程式的步驟 step1 檢查目錄或檔案的許可權 step2 修改或填加設定檔 step3 檢查設定檔正確性 step4 匯入資料庫 step5 鎖定或刪除安裝檔案 3.製作安裝用到的PHP函數
Time of Update: 2017-01-19
EOF 是非常重要的概念,幾乎每種主流程式設計語言都提供了相應的內建函數,來驗證解析器是否到達了檔案EOF。在PHP 中,此函數是feof ()。feof ()函數用來確定是否到達資源末尾。它在檔案I/O 操作中經常使用。其形式為: int feof(string resource) 執行個體如下: 複製代碼 代碼如下: <?php $fh = fopen("/home/www/data/users.txt", "rt"); while (!feof($fh)) echo