Time of Update: 2017-01-19
一般來說PHP中常使用file_exists()判斷某個檔案或者檔案夾是否存在,如果存在則返回true,否則返回false。但是該函數在網頁使用UTF8編碼的情況下,對於中文的檔案名稱或者檔案夾名不能返回正確值,始終返回false。經測試之後得出解決方案,分析造成這一情況的原因應該是編碼不同而導致的PHP不能正確判斷。下面這段代碼是不能夠返回正確值的代碼,無論檔案是否在都返回不在:<?php;$file="/attachment/21/0/中文.rar";$newfile =
Time of Update: 2017-01-19
本文完整描述了一個簡潔實用的PHP緩衝類,可用來檢查快取檔案是否在設定更新時間之內、清除快取檔案、根據當前動態檔案產生快取檔案名、連續建立目錄、快取檔案輸出靜態等功能。對於採用PHP開發CMS系統來說,離不開對緩衝的處理,合理利用好緩衝可有效提高程式執行效率。php緩衝類檔案完整代碼如下:<?php/** 緩衝類 cache*/class cache {//緩衝目錄var $cacheRoot = "./cache/";//緩衝更新時間秒數,0為不緩衝var
Time of Update: 2017-01-19
本文所述為一個實用的PHP多圖片檔案上傳類,其支援gif、jpg、jpeg、pjpeg、png格式的多圖片上傳功能,類中還可限制圖片類型、上傳圖片的大小、設定上傳目錄、一些提交判斷等功能。此外該類並不局限於圖片的上傳,也可以上傳TXT/RAR等檔案類型,只是需要對代碼進行一下修改,感興趣的讀者可以自己嘗試一下。php多圖片上傳類完整功能代碼如下:<?phpclass more_file_upload{ const FILE_PATH = '/uploadfile/';
Time of Update: 2017-01-19
本文的PHP程式用來判斷文章裡是否包含有圖片,其主要實現思路就是用preg_match來檢查內容裡是否有匹配的“<img”,拋開本文所述執行個體,我們還可以用preg_match來判斷很多東西,比如郵箱地址裡是否有“@”,判斷是否有手機號等等。廢話少說,下面是主要實現代碼:$url="http://XXXXX/article/012.html";$content=file_get_contents($url);
Time of Update: 2017-01-19
隨著當今行動裝置的普及,上網已經比過去更加方便。針對Android智能手機,iPhone/iPad等移動終端,很多網站都相繼推出了針對電腦和這類手機等行動裝置訪問的網頁。本文所述的執行個體代碼就可以實現根據這些行動裝置終端而自動跳轉到適合它們瀏覽的頁面。即判斷PC端或手機站智能端並跳轉。完整的執行個體代碼如下:<?php$agent = strtolower($_SERVER['HTTP_USER_AGENT']);$iphone = (strpos($agent,
Time of Update: 2017-01-19
我們經常可以看到一些網站上有圖片剪下的功能,或許你會覺得這一功能炫目華麗,神秘莫測!但是今天介紹的一款專用於圖片裁切的外掛程式jquery.Jcrop.min.js就將揭開圖片剪下的神秘面紗。使用這個外掛程式可以很方便的實現這一功能,使用時僅需滑鼠在圖片上圈選出選區,即可把圖片裁切成所選部分,非常適合用於頭像的裁切編輯功能。本執行個體示範分為HTML和php兩部分:第一部分,HTML代碼:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Time of Update: 2017-01-19
PHP自從5.3版以來就新增了一個叫做__invoke的魔術方法,使用該方法就可以在建立執行個體後,直接調用對象。如下樣本所示:class testClass{public function __invoke{print "hello world";}}$n = new testClass;$n();執行結果為:hello world。php官方樣本如下:class CallableClass{public function __invoke($x){var_dump($x);}}$obj =
Time of Update: 2017-01-19
一般來說網路通訊常用的方式有2種:文本通訊和二進位通訊。php與erlang之間實現文本通訊比較簡單,這裡就不做討論,本文主要討論的是php與erlang實現二進位通訊的實現方法。實現步驟如下:erlang端代碼:複製代碼 代碼如下:-module(server).-export([start/0]).-define( UINT, 32/unsigned-little-integer).-define( INT, 32/signed-little-integer).-define(
Time of Update: 2017-01-19
網上的很多類比登入程式,大都是通過服務程式apache之類的運行,擷取到驗證碼之後顯示在網頁上,然後填上再POST出去,這樣雖然看起來很友好,但是既然類比登入,登入後所乾的事情就不一定是短時間完成的,所以這就要受到php最大執行時間的限制,而且有些操作還有可能許可權不足。本文提供了一個程式執行個體,思路就是擷取到驗證碼之後把驗證碼儲存為一個圖片,然後程式休眠20秒,在20秒之後由使用者手動查看圖片,並把驗證碼填寫到code.txt檔案中,20秒休眠完成後,程式會讀code.txt的驗證碼,這樣再
Time of Update: 2017-01-19
很多開源系統如osCommerce架構中,都會在其源碼中找到use這個關鍵字,如osCommerce架構中就在index.php檔案中出現了這段源碼:use osCommerce\OM\Core\Autoloader;use osCommerce\OM\Core\OSCOM;其實,php的use關鍵字是自php5.3以上版本引入的。它的作用是給一個外部參考起別名。這是命名空間的一個重要特性,它同基於unix的檔案系統的為檔案或目錄建立串連標誌相類似。PHP命名空間支援三種別名方式(或者說引用):
Time of Update: 2017-01-19
php5.3.3以前php-fpm還沒有被php收錄,配置php基本都在php.ini裡面,php5.3.3及以後,除了在php.ini配置以外,還可以在php-fpm.conf裡面配置。多個地方都可以配置的話,就存在一個優先順序。php-fpm.conf優先順序比php.ini高。1,修改/etc/php-fpm.conf,或者,/etc/php-fpm.d/*.conf,或者,/usr/local/php/etc/php-fpm.conf; Set session path to a
Time of Update: 2017-01-19
收集自網上:複製代碼 代碼如下:array_map('unlink',glob('*'));拋磚引玉而已,有很多朋友可能還不知道有glob這個函數吧。更多的用法看手冊吧。PHP glob() 函數定義和用法glob() 函數返回匹配指定模式的檔案名稱或目錄。該函數返回一個包含有匹配檔案 / 目錄的數組。如果出錯返回 false。文法複製代碼 代碼如下:glob(pattern,flags) 參數 描述 file
Time of Update: 2017-01-19
本文以執行個體簡單解析了php多任務程式的實現方法,具體代碼如下:<?phperror_reporting(E_ALL);set_time_limit(0);/*** php多任務程式的實現* 藉助proc_open* 其實該叫進程(process)* 能啟動多進程,你可以使用你的想象力做你想做的了,以後再寫個能用的* 如果你是在linux上跑php,並且啟用pcntl模組後,使用pcntl函數該更好* */class Thread { protected $_pref; //
Time of Update: 2017-01-19
斐波那契數列是非常常見的一類數列,其數學定義為:F0=1,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。本文就用php來簡單實現斐波那契數列,代碼十分簡潔易懂,如下所示:<?php $arr[1] = 1;for($i = 2;$i < 100;$i++){ $arr[$i] = $arr[$i-1] + $arr[$i-2];}echo join(",",$arr);//將數組合并為一個字串輸出?>至此就實現了Fn=F(n-1)
Time of Update: 2017-01-19
本文以執行個體形式說明了php建立多層級目錄的實現方法,代碼簡潔實用,功能強大,對於php程式員來說有一定的參考借鑒價值。執行個體詳情如下:/** *根據路徑path建立多級目錄 *$dir目標目錄 $mode許可權,0700表示最高許可權*/function makedir( $dir , $mode = "0700" ) { if(strpos($dir , "/" )){ $dir_path = "" ; $dir_info = explode ( "/" , $dir );
Time of Update: 2017-01-19
通常在做內容網站的時候,需要在每一篇文章中出現與該文章相關的文章列表。對於大多數人來說,使用的方法通常是:建立一個關鍵詞列表,判斷每篇文章包含有那些關鍵詞,最後根據關鍵詞找出與某篇文章最相關的文章。對於內容比較複雜的網站,確定關鍵列表詞顯然會比較麻煩。本文介紹了與以往方法不同的similar_text(php4,php5)函數來方便的達到我們的預期要求。具體的思路是:從文章列表中取出所有的文章標題,將所有的文章標題都同當前標題對比,將對比結果產生一個數組,按照相似性的大小由大到標題,利用simi
Time of Update: 2017-01-19
緩衝技術在實際使用當中應用非常廣泛,可以有效減輕對伺服器資料庫的訪問壓力,提高運行速度。目前很多CMS內容管理系統中頻繁使用緩衝機制來提高系統啟動並執行效率。本文以一個簡單實用的緩衝類為例,協助大家參考下緩衝的機制與寫法。快取檔案cache.php代碼如下:<?php /* 使用者需要事先定義的常量: _CachePath_ 模板緩衝路徑 _CacheEnable_ 自動緩衝機制是否開啟,未定義或為空白,表示關閉自動緩衝機制 _ReCacheTime_
Time of Update: 2017-01-19
大多資料情況下我們對於session到期時間使用的是預設設定的時間,而對於一些有特殊要求的情況下我們可以設定一下session到期時間。對此,可以在PHP中,設定php.ini,找到session.gc_maxlifetime = 1440 #(PHP5預設24分鐘)這裡你可以隨便設定一下到期時間.但是有人說設定以後,好象不起作用!其實不是不起作用,而是因為系統預設:session.gc_probability = 1session.gc_divisor = 1000garbage
Time of Update: 2017-01-19
首先建立一個conn.php的檔案用來連結資料庫複製代碼 代碼如下:<?php $link = mysql_connect("mysql_host" , "mysql_user" , "mysql_password" )or die("Could not connect : " . mysql_error()); mysql_query("set names utf8");
Time of Update: 2017-01-19
strip_tags 去掉 HTML 及 PHP 的標記。 文法: string strip_tags(string str); 傳回值: 字串 函式種類: 資料處理 內容說明 本函式可去掉字串中包含的任何 HTML 及 PHP 的標記字串。若是字串的 HTML 及 PHP 標籤原來就有錯,例如少了大於的符號,則也會傳回錯誤。而本函式和 fgetss() 有著相同的功能。 htmlspecialchars 將特殊字元轉成 HTML 格式。 文法: string