rockFun.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. <?php
  2. /**
  3. *****************************************************************
  4. * 联系QQ: 290802026 *
  5. * 版 本: V2.0 *
  6. * 开发者:雨中磐石工作室 *
  7. * 邮 箱: admin@rockoa.com *
  8. * 网 址: http://www.rockoa.com/ *
  9. * 说 明: 定义常用的方法 *
  10. * 备 注: 未经允许不得商业出售,代码欢迎参考纠正 *
  11. *****************************************************************
  12. */
  13. /**
  14. * m 读取数据模型,操作数据库的
  15. * $name 表名/文件名
  16. */
  17. function m($name)
  18. {
  19. $cls = NULL;
  20. $pats = $nac = '';
  21. $nas = $name;
  22. $asq = explode(':', $nas);
  23. if(count($asq)>1){
  24. $nas = $asq[1];
  25. $nac = $asq[0];
  26. $pats = $nac.'/';
  27. if(VERSION >= '2.7.3' && $nac == 'flow'){
  28. // $_pats = ''.ROOT_PATH.'/'.PROJECT.'/model/'.$nac.'/'.$nac.'Base.php';
  29. // if(file_exists($_pats))include_once($_pats);
  30. }
  31. $_pats = ''.ROOT_PATH.'/'.PROJECT.'/model/'.$nac.'/'.$nac.'.php';
  32. if(file_exists($_pats)){
  33. include_once($_pats);
  34. $class = ''.$nac.'Model';
  35. $cls = new $class($nas);
  36. }
  37. }
  38. $class = ''.$nas.'ClassModel';
  39. $path = ''.ROOT_PATH.'/'.PROJECT.'/model/'.$pats.''.$nas.'Model.php';
  40. if(file_exists($path)){
  41. include_once($path);
  42. if($nac!='')$class= $nac.'_'.$class;
  43. $cls = new $class($nas);
  44. }
  45. if($cls==NULL)$cls = new sModel($nas);
  46. return $cls;
  47. }
  48. /**
  49. * 引入插件
  50. * $name 插件名称
  51. * $inbo 是否初始化
  52. * $param1,2,参数
  53. */
  54. function c($name, $inbo=true, $param1='', $param2='')
  55. {
  56. $class = ''.$name.'Chajian';
  57. $path = ''.ROOT_PATH.'/include/chajian/'.$class.'.php';
  58. $cls = NULL;
  59. if(file_exists($path)){
  60. include_once($path);
  61. if($inbo)$cls = new $class($param1, $param2);
  62. }
  63. return $cls;
  64. }
  65. /**
  66. * 引入class文件
  67. */
  68. function import($name, $inbo=true)
  69. {
  70. $class = ''.$name.'Class';
  71. $path = ''.ROOT_PATH.'/include/class/'.$class.'.php';
  72. $cls = NULL;
  73. if(file_exists($path)){
  74. include_once($path);
  75. if($inbo){
  76. $cls = new $class();
  77. }
  78. }
  79. return $cls;
  80. }
  81. /**
  82. * 读取配置
  83. */
  84. function getconfig($key, $dev='')
  85. {
  86. $a = array();
  87. if(isset($GLOBALS['config']))$a = $GLOBALS['config'];
  88. $s = '';
  89. if(isset($a[$key]))$s = $a[$key];
  90. if($s==='')$s = $dev;
  91. return $s;
  92. }
  93. /**
  94. * 判断变量是否为空
  95. * @return boolean
  96. */
  97. function isempt($str)
  98. {
  99. $bool=false;
  100. if( ($str==''||$str==NULL||empty($str)) && (!is_numeric($str)) )$bool=true;
  101. return $bool;
  102. }
  103. /**
  104. * 判断变量是否包含在另一变量里面
  105. * @return boolean
  106. */
  107. function contain($str,$a)
  108. {
  109. $bool=false;
  110. if(!isempt($a) && !isempt($str)){
  111. $ad=strpos($str,$a);
  112. if($ad>0||!is_bool($ad))$bool=true;
  113. }
  114. return $bool;
  115. }
  116. /**
  117. * 获取请求的头
  118. * @return string/array
  119. */
  120. function getheader($key='')
  121. {
  122. $arr = array();
  123. if(function_exists('getallheaders'))$arr = getallheaders();
  124. if($key=='')return $arr;
  125. return arrvalue($arr, $key);
  126. }
  127. /**
  128. * 是否ajax请求
  129. * @return boolean
  130. */
  131. function isajax()
  132. {
  133. if(strtolower(getheader('X-Requested-With'))=='xmlhttprequest'){
  134. return true;
  135. }else{
  136. return false;
  137. };
  138. }
  139. function backmsg($msg='', $demsg='处理成功', $da=array())
  140. {
  141. $code = 201;
  142. if($msg == ''){
  143. $msg = $demsg;
  144. $code= 200;
  145. }
  146. showreturn($da, $msg, $code);
  147. }
  148. /**
  149. * 返回错误信息
  150. */
  151. function returnerror($msg='', $code=201, $carr=array())
  152. {
  153. $carr['msg'] = $msg;
  154. $carr['code'] = $code;
  155. $carr['success'] = false;
  156. $carr['data'] = '';
  157. return $carr;
  158. }
  159. /**
  160. * 返回正确信息
  161. */
  162. function returnsuccess($data=array(),$msg='')
  163. {
  164. $carr['msg'] = $msg;
  165. $carr['code'] = 200;
  166. $carr['success'] = true;
  167. $carr['data'] = $data;
  168. return $carr;
  169. }
  170. function showreturn($arr='', $msg='', $code=200)
  171. {
  172. $callback = @$_GET['callback'];
  173. $success = true;
  174. if($code != 200)$success = false;
  175. $result = json_encode(array(
  176. 'code' => $code,
  177. 'msg' => $msg,
  178. 'data' => $arr,
  179. 'success'=> $success
  180. ));
  181. if(!isempt($callback)){
  182. echo ''.$callback.'('.$result.')';
  183. }else{
  184. echo $result;
  185. }
  186. exit();
  187. }
  188. /**
  189. * 错误处理
  190. */
  191. function rockerror($errno, $errstr,$err_file = '', $err_line = 0){
  192. $str = "File:".$err_file." Line:[$err_line] Error: [$errno] $errstr";
  193. echo $str;exit();
  194. }
  195. /**
  196. * 在数组里读取变量
  197. * @return value
  198. */
  199. function arrvalue($arr, $k, $dev='')
  200. {
  201. $val = $dev;
  202. if(isset($arr[$k]))$val= $arr[$k];
  203. return $val;
  204. }
  205. /**
  206. * 在对象里读取变量
  207. * @return value
  208. */
  209. function objvalue($arr, $k, $dev='')
  210. {
  211. $val = $dev;
  212. if(isset($arr->$k))$val= $arr->$k;
  213. return $val;
  214. }
  215. /**
  216. * 过滤字符串的空格
  217. */
  218. function trimstr($str)
  219. {
  220. return trim(str_replace(' ','',$str));
  221. }
  222. /**
  223. * getallheaders不存在时
  224. */
  225. if (!function_exists('getallheaders')){
  226. function getallheaders(){
  227. $headers = array();
  228. foreach ($_SERVER as $name => $value) {
  229. if(substr($name, 0, 5) == 'HTTP_') {
  230. $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
  231. }
  232. }
  233. return $headers;
  234. }
  235. }
  236. function getparams($key, $dev='')
  237. {
  238. if(PHP_SAPI != 'cli'){
  239. return arrvalue($_GET,$key,$dev);
  240. }
  241. $arr = arrvalue($GLOBALS, 'argv');
  242. $sss = '';
  243. if($arr)for($i=2;$i<count($arr);$i++){
  244. $str = $arr[$i];
  245. if(!isempt($str)){
  246. $stra = explode('=', $str);
  247. if($stra[0]=='-'.$key.''){
  248. $sss = arrvalue($stra, 1);
  249. break;
  250. }
  251. }
  252. }
  253. if(isempt($sss))$sss = $dev;
  254. return $sss;
  255. }
  256. /**
  257. * 多语言返回
  258. */
  259. function lang($str,$lx='')
  260. {
  261. if(!$str)return $str;
  262. $da = arrvalue($GLOBALS,'langdata');
  263. if(!$da || !isset($da['xuhao']))return $str;
  264. $xuhao = $da['xuhao'];
  265. $key = 'data'.$lx.'';
  266. if(!isset($da[$key])){
  267. $path = ''.ROOT_PATH.'/include/langlocal/langphp/lang'.$lx.'.php';
  268. $data = array();
  269. if(file_exists($path))$data = require($path);
  270. $GLOBALS['langdata'][$key] = $data;
  271. }else{
  272. $data = $da[$key];
  273. }
  274. if(!isset($data[$str]))return $str;
  275. $nstr = arrvalue($data[$str], $xuhao);
  276. if(!$nstr)$nstr = $str;
  277. return $nstr;
  278. }
  279. /**
  280. * 为空替换为''
  281. */
  282. function repempt($str,$dev='')
  283. {
  284. $s = $str;
  285. if($s===null)$s=$dev;
  286. return $s;
  287. }
粤ICP备19079148号