使用php實現檔案強制下載,多會用到header函數。 例子,php檔案下載執行個體。 class Downfile {function downserver($file_name){$file_path = "./img/".$file_name;//轉碼,檔案名稱轉為gb2312解決中文亂碼$file_name = iconv("utf-8","gb2312",$file_name);$file_path = iconv("utf-8","gb2312",$file_path);$fp =
中英文混排計數、截取,不用自訂函數,而是使用php的mb擴充,使用原生態的php函數輕鬆處理字串截取。首先,介紹下常用函數來截取字串。mb_strwidth($str, $encoding) 返回字串的寬度$str 要計算的字串$encoding 要使用的編碼,如 utf8、gbkmb_strimwidth($str, $start, $width, $tail, $encoding) 按寬度截取字串$str 要截取的字串$start 從哪個位置開始截取,預設是0$width
php擷取本機ip地址 php擷取遠程IP地址完整代碼: // echo $_SERVER['REMOTE_ADDR']; //本機IP地址function get_local_ip() { $preg = "/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/"; //擷取作業系統為win2000
php GeoIP庫使用教程什麼是GepIP ? 所謂GeoIP,就是通過來訪者的IP, 定位他的經緯度,省/地區,省市,甚至街道等位置資訊。這裡面的技術不算難題,關鍵在於有個精準 的資料庫。有了準確的資料來源就奇貨可居賺點小錢,可是發揚合作精神,集體貢獻眾人享用是我們追求的。GeoIP如何使用? 首先我們需要資料資訊,所以先擷取一個免費的資料庫:GeoIP.dat.gz ,接著解壓得到:GeoIP.dat, 然後就是對資料檔案的按需操作,這邊範例使用的是PHP。 GeoIP +
destoon整合ucenter後註冊頁面不跳轉通常採用ucenter來做中介,添加多個應用然後使多個網站有同步登入退出的功能。ucenter添加應用並不難,destoon官網上也有相關的教程。有時在幾個應用添加完畢以後,註冊一個帳號測試的時候,問題就出現了,註冊完以後,註冊頁面沒有跳轉,也沒有提示,但這個會員是註冊成功了。為什麼沒有跳轉呢?斷點測試,這是因為在Destoon的api/ucenter/control/user.php
php數組與對象轉換例子: //php 對象到數群組轉換 private function objToArr($obj){ if(!is_object($obj) && !is_array($obj)) { return $obj; } $arr = array(); foreach($obj as $k => $v){ $arr[$k] = $this->objToArr($v); } return $arr;
thinkPHP+Uploadify圖片上傳執行個體教程首先,將下載的Uploadify壓縮包解壓放到公用檔案夾內。實現代碼如下:1,前台html部分: 上傳複製代碼2,action執行代碼部分: public function uploadify() { $ph=M('Upload'); import('ORG.Net.UploadFile'); $upload = new UploadFile();// 執行個體化上傳類 $upload->maxSize = 93145728 ;//
PHP快速排序小例子 php快速排序實現方法完整代碼: set_time_limit(0); function quickSort($arr) { if (count($arr) > 1) { // 只判斷數組長度大於1的情況 $k = $arr[0]; // 預設參照對象為數組第一個對象 $x = array(); // 比參照小的 $y = array(); // 比參照大的 $_size = count($
在destoon使用中需要根據情況建立一些系統沒有的模組,則需要複製已有的模組來根據已有模組建立新的模組。具體操作方法:首先,選擇一個模組(因為系統預設文章和資訊模組是可以複製的,在這裡只研究非預設的模組怎麼複製),我選擇的是模組名稱是品牌,目錄名是brand,模組ID是13,也可以根據需要選擇要複製的模組。第一步,複製根目錄下的brand這個檔案夾,粘貼然後重新命名,這裡用rename命名作為示範。根目錄下多了一個名稱為rename的檔案夾,開啟這個檔案夾,找到config.inc.php這個
php讀取mysql資料庫入門執行個體完整代碼: $hostname = "localhost:3306"; $username = "root"; $password = "root"; $dbname = "test"; $conn = mysqli_connect($hostname, $username, $password, $dbname); $conn->query("SET NAMES 'gbk'"); // 檢測資料連線 if
php讀取與分割大檔案在php中,對於檔案的讀取時,最快捷的方式莫過於使用一些諸如file、file_get_contents之類的函數,簡單幾行代碼即可實現功能。但當所操作的檔案是一個比較大的檔案時,這些函數可能就顯的力不從心, 下面將從一個需求入手來說明對於讀取大檔案時,常用的操作方法。需求如下: 現有一個1G左右的記錄檔,大約有500多萬行, 用php返回最後幾行的內容。實現方法:1. 直接採用file函數來操作註:由於
對於thinkphp的截取字串函數無法顯示省略符號的情況,可以參考如下解決方案:開啟common/extend.php頁面,修改msubstr函數為: function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){ if(function_exists("mb_substr")) { if($suffix) { if($str==mb_substr($str, $start, $length,
destoon常用安全設定方法安裝destoon系統後,出於網站安全的考慮,最好對系統做一些安全設定。destoon系統通常有以下幾個步驟需要進行安全操作。1,創始人密碼安全設定系統創始人擁有最高系統管理權限,因此需要設定複雜的密碼,例如數字、字母、特殊符號的組合,勿用123456等弱口令,以免被猜解。2,後台登入地址後台登入地址預設為 你的網域名稱/admin.php,可以通過ftp或在伺服器上修改網站根目錄/admin.php檔案名稱,例如修改為 xxx.php ,然後通過
destoon自訂模板調用方法 destoon樣式公告欄destoon中預設的首頁公告欄調用方法: $today_endtime-86400&areaid=$cityid&pagesize=3&datetype=2&order=listorder desc,addtime desc&target=_blank”)}–>複製代碼這個標籤引用的模板檔案是template/default/tag/list.htm檔案。當不想用這個list.htm檔案,而想要用到自訂樣式與模板,就可以複製一份這個檔案,
PHP檔案遍曆小例子完整代碼: $dir = "D:\workspace"; function list_file($dir = '.'){ $list = scandir($dir); echo ''; foreach($list as $file){ $target = "$dir/$file"; if ( is_dir($target) && $file != '.' && $file != '..' ){
destoon商鋪管理首頁怎麼設定增加新菜單?可以參考如下方法:1,開啟/lang/zh-cn/home.inc.php,找到9,10行替換如下: $HMENU = $DMENU = array('公司介紹', '供應產品', '採購清單', '新聞中心', '榮譽資質', '人才招聘', '連絡方式', '公司相簿', '招商代理', '品牌展示', '公司視頻', '友情連結', '自訂頁', '新菜單');$MFILE = array('introduce', 'sell', 'buy',
destoon後台網站設定空白解決方案destoon升級後前後台變成空白,原因通常是檔案的寫入權限有問題,大多是cache或者file,測試沒考慮安全問題,把所有檔案設定為可寫就解決了。因此建議升級包升級時和安裝檔案一樣判斷下檔案許可權,否則會遇見稀奇古怪的問題。chmod -R 777
Linux 安裝 PHP擴充 zip模組,供大家學習參考。1、依次運行以下命令:wget http://pecl.php.net/get/zip-1.8.10.tgz#tar zxvf zip-1.8.3.tgz#cd zip-1.8.3#/opt/php/bin/phpize (對應的phpize路徑)#./configure --with-php-config=/opt/php/bin/php-config (對應的php-config路徑)#make#make install複製代碼2
include("config.php");if($_GET["id"]){ $_GET["id"]=inject_check($_GET["id"]); echo $id;} function inject_check($sql_str) { $check= eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str); if($check)
isset函數 檢測變數是否設定。格式:bool isset ( mixed var [, mixed var [, ...]] )傳回值:若變數不存在則返回 FALSE若變數存在且其值為NULL,也返回 FALSE若變數存在且值不為NULL,則返回 TURE同時檢查多個變數時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE如果已經使用 unset() 釋放了一個變數之後,它將不再是 isset()。若使用 isset() 測試一個被設定成 NULL 的變數,將返回