原创 PHP算法——冒泡排序

冒泡排序是php算法中很常用的一種,實現過程和水氣泡上浮一樣,小的往上走,故名‘冒泡算法’。 <?php $arr = array(1,3,7,4,5,10,8); $looptimes = count($arr); if ($l

原创 wamp環境下配置vhost

第一步:修改http.conf文件,將http-vhosts.conf配置文件包含進來 # Virtual hosts #Include conf/extra/httpd-vhosts.conf 改爲 # Virtual hosts In

原创 shell編程——條件判斷

一:是否存在判斷 1.[ -d /var/www ] 判斷/var/www是否存在且爲目錄 2.[ -f /var/nginx.log ] 判斷var/nginx.log是否存在且爲文件 3.[ -e /var/www ] 判斷/var/

原创 linux下cp複製合併文件命令

命令:  cp  -frp from to 例:合併/test到/to文件夾下的內容 cp -fra /test /to 參數說明: f  強制合併,不詢問yes/no r 遞歸合併 p 保持文件屬性不變

原创 網關和代理的對比

嚴格來說,代理連接的是兩個或多個使用相同協議的應用程序,而網關連接的則是兩個或多個使用不同協議的應用程序。網關扮演的是‘協議轉換器’的角色,即使客戶端和服務端使用的是不同的協議,客戶端也可以通過網關來和客戶端進行交互。 代理:如下圖,圖中

原创 PHP fsockopen模擬發送post set請求

class Http { public $lineAndHeader; public $path; public $method; public $port = 80; public $version = 'HTTP/1.1';

原创 svn利用hooks自動更新遠程服務器上的項目

項目開發階段往往需要頻繁的提交代碼,如果不加svn鉤子的話,每次提交都要到項目目錄下執行一下svn up,非常費事,所以今天決定加個把鉤子做上。利用鉤子更新遠程項目的關鍵是實現ssh無密碼登錄。 svn倉庫所在服務器(以下簡稱機器A)

原创 apache開啓vhost後,適應ThinkPHP的rewrite模式

1.配置vhost 2.配置好以後修改vhost配置,在下圖Directory標籤中添加AllowOverride all 修改後: <VirtualHost *:80> ServerAdmin webmaster@dumm

原创 php識別客戶端類型,移動端或者web

<?php function isMobile() { // 如果有HTTP_X_WAP_PROFILE則一定是移動設備 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) {

原创 PHP面向對象——clone關鍵字

clone關鍵字用於克隆對象,克隆完的對象和源對象保持獨立,對該對象的所做的修改不會影響源對象。賦值引用的方式產生的對象和源對象指向的同一個內存地址,所以對新對象所做的修改會影響到源對象,舉例: <?php class NbaPlaye

原创 PHP算法——遞歸算法

遞歸函數在日常項目中有很廣泛的用途,例如寫樹結構、遍歷目錄等,今天我們用一個簡單的遞歸demo來求斐波那契數列,並用圖解釋它運行的過程。 <?php // 0 1 1 2 3 5 8 13 21 34 function demo($n)

原创 php利用header()實現文件下載

<?php $file = './test.png'; $filename = basename($file); //設置頭信息 header("Content-Type:application/octet-stream"); head

原创 算法——快速排序

<?php function quicksort($arr) { if (count($arr) <= 1) return $arr; $key = $arr['0']; $left = array(); $right =

原创 php反轉字符串的三種方法

這種問題在面試題中經常被問到,php有自帶的函數strrev可以輕鬆實現,但是面試官要考的肯定不是這個啦。除此辦法外,我能想到的還有兩個,第一個就是把分割字符串到一個數組中,然後遍歷拼接,具體如下: function revstr($st

原创 php/html文件上傳中的enctype屬性

先貼一個最簡單的文件上傳模型 <html> <form method="post" action='index.php' enctype="multipart/form-data"> <input type="file" name=