<?php class get_c_str { var $str; var $start_str; var $end_str; var $start_pos; var $end_pos; var $c_str_l; var $contents; function get_str($str, $start_str, $end_str) { $this->str = $str; $this->start_str = $start_str; $this->end_str = $end_str; $this->start_pos = strpos($this->str, $this->start_str) + strlen($this->start_str); $this->end_pos = strpos($this->str, $this->end_str); $this->c_str_l = $this->end_pos - $this->start_pos; $this->contents = substr($this->str, $this->start_pos, $this->c_str_l); return $this->contents; } }這是一個php截取字串的類,需要的朋友可以下載使用。
<?php class mobile{ function getPhoneNumber(){ if (isset($_SERVER[ 'HTTP_X_NETWORK_INFO '])){ $str1 = $_SERVER[ 'HTTP_X_NETWORK_INFO ']; $getstr1 = preg_replace( '/(.*,)(11[d])(,.*)/i ', '2 ',$str1); Return $getstr1; }elseif (isset($_SERVER[ 'HTTP_X_UP_CALLING_LINE_ID '])){ $getstr2 = $_SERVER[ 'HTTP_X_UP_CALLING_LINE_ID ']; Return $getstr2; }elseif (isset($_SERVER[ 'HTTP_X_UP_SUBNO '])){ $str3 = $_SERVER[ 'HTTP_X_UP_SUBNO ']; $getstr3 = preg_replace( '/(.*)(11[d])(.*)/i ', '2 ',$str3); Return $getstr3; }elseif (isset($_SERVER[ 'DEVICEID '])){ Return $_SERVER[ 'DEVICEID ']; }else{ Return false; } }這是一個php獲得的手機號碼與ip位址類,需要的朋友可以下載使用
<?php //封装php中的单文件(图片)上传类 header('content-type:text/html;charset=utf-8'); class Upload{ //定义一个属性,专门保存错误信息 public static $error; //文件转移的方法 public function uploadFile($file,$size,$path){ if(!is_dir($path)){ $this->mkPath($path); } $allow=array('image/jpeg','image/jpg','image/png','image/gif'); //首先判断文件是否已上传到临时目录 if(!is_array($file)){ Upload::$error='不是一个有效的文件'; return false; } //判断文件是否上传到临时目录成功 switch($file['error']){ case 1:這是一個php封裝的圖片上傳類,需要的朋友可以下載使用
<? class CMailFile { var $subject; var $addr_to; var $text_body; var $text_encoded; var $mime_headers; var $mime_boundary = "--==================_846811060==_"; var $smtp_headers; function CMailFile($subject,$to,$from,$msg,$filename,$downfilename,$mimetype = "application/octet-stream",$mime_filename = false) { $this->subject = $subject; $this->addr_to = $to; $this->smtp_headers = $this->write_smtpheaders($from); $this->text_body = $this->write_body($msg); $this->text_encoded = $this->attach_file($filename,$downfilename,$mimetype,$mime_filename); $this->mime_headers = $this->write_mimeheaders($filename, $mime_filename); } function attach_file($filename,$downfilename,$mimetype,$mime_filename) { $encoded = $this->encode_file($filename); if ($mime_filename) $filename = $mime_filename; $out = "--" . $this->mime_boundary . "\n"; $out = $out . "Content-type: " . $mimetype . "; name=\"$filename\";\n"; $out = $out . "Content-Transfer-Encoding: base64\n"; $out = $out . "Content-disposition: attachment; filename=這是一個php的附件郵件類,需要的朋友可以下載使用
<?php class mysafe{ public $logname; public $isshwomsg; function __construct(){ set_error_handler('MyError',E_ALL); //----- } function MyError($errno, $errstr, $errfile, $errline){ echo "<b>Error number:</b> [$errno],error on line $errline in $errfile<br />"; exit; } function wlog($logs){ if(empty($logname)){ $this->logname=$_SERVER["DOCUMENT_ROOT"]."/log.htm"; } $Ts=fopen($this->logname,"a+"); fputs($Ts,$logs."\r\n"); fclose($Ts); } function showmsg($msg='',$flag=false){ $this->isshwomsg=empty($this->isshwomsg) ? false : true; if ($this->isshwomsg) { echo '<br />--------------------------------------<br />'; echo $msg; echo '<br />--------------------------------------<br />'; if ($flag) exit;這是一個php參數資料過濾安全類,需要的朋友可以下載使用
<?php header('Content-Type:text/html;charset=utf-8'); /** * 一个用于抓去图片的类 */ class download_image { public $_save_path = NULL; //图片保存路劲 public $_limit_size = NULL; //图片限制大小 public static $_img_url_old = array(); //存储已抓取过的图片链接地址 public static $_a_page_url = array(); //存储抓取过的页面 public function __construct( $_save_path, $_limit_size) { $this->_save_path = $_save_path; $this->_limit_size = $_limit_size; } public function get_all_page_image( $site_url ) { if ( $site_url == '' ) { return false; } if ( ! in_array( $site_url, self::$_a_page_url ) ) { //判断当前页面是否抓取过 self::$_a_page_url[] = $site_url; //将超链接存入静态数组中 } else { return; //若抓取过则跳出 }1.找到一個頁面2.正規過濾所有的img3.正則過濾出所有的src的屬性4.取得連結資訊,寫入檔案file_get_contents(), file_put_contents()5.在cli模式下執行程式碼(瀏覽器執行可能記憶體爆掉,或執行逾時)#
<? /* 用户需要事先定义的常量: _CachePath_ 模板缓存路径 _CacheEnable_ 自动缓存机制是否开启,未定义或为空,表示关闭自动缓存机制 _ReCacheTime_ 自动重新缓存间隔时间,单位为秒,未定义或为空,表示关闭自动重新缓存 */ class cache { var $cachefile; var $cachefilevar; function cache() { //生成当前页的Cache组文件名 $this->cachefilevar 及文件名 $this->cachefile //动态页的参数不同对应的Cache文件也不同,但是每一个动态页的所有Cache文件都有相同的文件名,只是扩展名不同 $s=array(".","/");$r=array("_",""); $this->cachefilevar=str_replace($s,$r,$_SERVER["SCRIPT_NAME"])."_".$_GET[_ActionVar_]; $this->cachefile=$this->cachefilevar.".".md5($_SERVER["REQUEST_URI"]); }快取就是資料交換的緩衝區,當某一硬體要讀取資料時,會先從快取中尋找需要的數據,如果找到了則直接執行,找不到的話則從記憶體中找。由於快取的運作速度比記憶體快得多,故快取的作用就是幫助硬體更快運作。 因為快取往往使用的是RAM,所以用完後還是會把檔案送到硬碟等記憶體永久儲存。電腦裡最大的快取就是記憶體條了,最快的是CPU上鑲的L1和L2緩存,顯示卡的顯卡是給顯示卡運算晶片用的緩存,硬碟上也有16M或是32M的快取。
<?php class Request{ public static function post($url, $post_data = '', $timeout = 5){//curl $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_POST, 1); if($post_data != ''){ curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); } curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_HEADER, false); $file_contents = curl_exec($ch); curl_close($ch);Post()函數用來向窗口發送非PowerBuilder預先定義事件的訊息,這個窗口可以是PowerBuilder應用的窗口,也可以是其它應用的窗口。 Post()函數把發送的訊息放置在指定視窗訊息佇列的尾部,然後回到應用程式中,它並不會等待對應事件事件處理程序的執行。這點與Send()函數不同,Send()函數直接觸發指定視窗對應的事件,執行事件處理程序後會回到呼叫應用中。因此,我們說Post()函數採用的是非同步方式,Send()函數採用的是同步方式。 Post()函數的參數handle指定接收訊息的視窗句柄,對PowerBuilder視窗來說,使用Handle()函數可以得到該句柄。對其它應用程式的視窗來說,可以呼叫系統API函數查找視窗並得到對應視窗的句柄。如果應用程式要郵寄PowerBuilder定義事件(包括預先定義事件和使用者定義事件),那麼使用PostEvent()函數既簡單有方便。當應用程式在long參數位置指定一個字串時,Post()函數複製一個該字串的副本,然後將副本的位址傳送給指定視窗。
<?php class Cache { private $dir = "data/cache/";//定义缓存目录 private $key='c_a_sss'; // 文件名 md5加密 密钥 function set_dir($dirpath) { $this->dir=$dirpath; $this->make_dir($this->dir); } function read($key,$minutes=1) { $filename=$this->get_filename($key); if($datas = @file_get_contents($filename)) { $datas = unserialize($datas); if(time() - $datas['time'] < $minutes*60) { return $datas['data']; } } return false; }快取就是資料交換的緩衝區(稱作Cache),當某一硬體要讀取資料時,會先從快取中尋找需要的數據,如果找到了則直接執行,找不到的話則從內存中找。由於快取的運作速度比記憶體快得多,故快取的作用就是幫助硬體更快運作因為快取往往使用的是RAM(斷電即掉的非永久儲存),所以在用完後還是會把檔案送到硬碟等記憶體永久儲存。電腦裡最大的快取就是記憶體條了,最快的是CPU上鑲的L1和L2緩存,顯示卡的顯卡是給顯示卡運算晶片用的緩存,硬碟上也有16M或是32M的快取。
<?php header("content-type:text/html;charset=utf-8"); class DBUtils{ /** *通用更新方法 insert update delete 操作 *@param sql *@return bool true false */ public function update($sql){ $link = $this->getConn(); mysql_query($sql); //如果出错显示 if(DEBUG){ echo mysql_error(); } $rs = mysql_affected_rows($link); $rs = $rs > 0; mysql_close($link); return $rs; }MySQL 是一個關聯式資料庫,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 旗下公司。 MySQL 最受歡迎的關聯式資料庫管理系統,在 WEB 應用程式方面 MySQL 是最好的 RDBMS (Relational Database Management System,關聯式資料庫管理系統) 應用軟體之一。 MySQL 是一種關聯資料庫管理系統,關聯資料庫將資料保存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。 MySQL 所使用的 SQL 語言是用於存取資料庫的最常用標準化語言。 MySQL 軟體採用了雙重授權政策(本詞條"授權政策"),它分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL 作為網站資料庫。由於其社群版的性能卓越,搭配 PHP ,Linux和 Apache 可組成良好的開發環境,經過多年的web技術發展,在業內被廣泛使用的一種web伺服器解決方案之一,稱之為LAMP。
<?php namespace App\Model\Database; class Config { public $dsn; public $user; public $password; /** * @var string 分库分表后得到的数据库名 */ public $dbname; /** * @var string 分库分表后得到的表名 */ public $table; /** * @var array MySQL 配置数组 */ private static $config; /** * @var string 配置文件路径 */ private static $configFile = 'mysql.php';這是一個非常好用的MySQL分庫分錶的PHP類,需要的朋友可以下載使用,更多精彩盡在在PHP中文網。
<?php */ class UploadFile{ public $maxSize = -1; // 是否支持多文件上传 public $supportMulti = true; // 允许上传的文件后缀 // 留空不作后缀检查 public $allowExts = array(); // 允许上传的文件类型 // 留空不做检查 public $allowTypes = array(); // 使用对上传图片进行缩略图处理 public $thumb = false; // 缩略图最大宽度 public $thumbMaxWidth; // 缩略图最大高度圖片上傳在我們在專案中常用到,幾乎沒有任何一個專案可以脫離圖片或是檔案上傳。 這次帶給大家的就是一個好用的檔案和圖片上傳PHP類別