> 백엔드 개발 > PHP 튜토리얼 > 입력 데이터가 합법적인지 여부를 감지하기 위해 PHP에서 일반적으로 사용되는 클래스

입력 데이터가 합법적인지 여부를 감지하기 위해 PHP에서 일반적으로 사용되는 클래스

WBOY
풀어 주다: 2016-07-25 09:12:24
원래의
1018명이 탐색했습니다.
  1. class Fun{
  2. function isEmpty($val)
  3. {
  4. if (!is_string($val)) return false; //문자열형인지 여부
  5. if (empty($val)) return false; //설정되었는지 여부
  6. if ($val=='') return false ; //비어 있는지 여부
  7. return true
  8. }
  9. /*
  10. ----------------- --------- -------------
  11. 함수명: isNumber
  12. 간략 설명: 입력이 숫자인지 확인
  13. 입력: string
  14. 출력: boolean
  15. 수정 로그: ------
  16. ----- ---------- -------------- ----------
  17. */
  18. 함수 isNumber($val)
  19. {
  20. if(ereg("^[0-9] $", $val))
  21. true 반환;
  22. false 반환;
  23. }
  24. /*
  25. ------------------------ --- ------------------
  26. 기능명 : isPhone
  27. 간략한 설명 : isPhone인지 확인하세요. 입력은 전화입니다
  28. 입력: 문자열
  29. 출력: 부울
  30. 수정 로그: ------
  31. ------ --------------- -----------
  32. */
  33. 함수는Phone( $val)
  34. {
  35. //예: xxx -xxxxxxxx-xxx | xxxx-xxxxxxx-xxx ...
  36. if(ereg("^((0d{2,3})-)(d {7,8})(-(d{3,}) )?$",$val))
  37. true 반환;
  38. false 반환;
  39. }
  40. /*
  41. -------------- ---------------------- -------------
  42. 함수 이름 : isPostcode
  43. 간략한 설명: 입력이 우편번호인지 확인
  44. 입력: 문자열
  45. 출력: 부울
  46. 수정 로그: ------
  47. --------- ------------------- ------------------
  48. */
  49. function isPostcode($val)
  50. {
  51. if(ereg("^[0-9] {4,6}$",$val))
  52. true 반환;
  53. false 반환;
  54. }
  55. /*
  56. ----------- -------- ---------------- -----
  57. 함수 이름: isEmail
  58. 간략한 설명: 이메일 주소 유효성 검사
  59. 입력: 문자열
  60. 출력: 부울
  61. 수정 로그: ------
  62. - ------------ ------------ ---------
  63. */
  64. 함수 isEmail($val,$domain ="")
  65. {
  66. if(!$domain)
  67. {
  68. if ( preg_match("/^[a-z0-9-_.] @[da-z][.w -] .[a-z]{2,4}$/i", $val) )
  69. {
  70. return true;
  71. }
  72. else
  73. return false;
  74. }
  75. else
  76. {
  77. if( preg_match("/^[a-z0-9-_. ] @".$domain."$/i", $val) )
  78. {
  79. return true;
  80. }
  81. else
  82. return false;
  83. }
  84. }/ /end func
  85. /*
  86. ----------- ------------ ---------------
  87. 함수명: isName
  88. 간략한 설명: 이름, 별명 유효성 확인, 중국어, 영어만 입력 가능
  89. 입력: 문자열
  90. 출력: 부울
  91. 수정 로그: -------
  92. - --------------- --------- --------
  93. */
  94. 함수 isName($val)
  95. {
  96. if( preg_match("/^[x80-xffa-zA-Z0-9]{3, 60}$/", $val) )//2008-7-24
  97. {
  98. return true;
  99. }
  100. return false;
  101. }//end func
  102. /*
  103. ------------------- ---------------------- -----
  104. 함수 이름: isStrLength($theelement , $min, $max)
  105. 간략한 설명: 문자열 길이가 요구사항을 충족하는지 확인
  106. 입력: 혼합(문자열, 최소 길이, 최대 길이)
  107. 출력: 부울
  108. 수정 로그: -- ----
  109. --------------- --------------- ----------------------
  110. */
  111. 함수 isStrLength($val, $min, $max)
  112. {
  113. $ theelement= Trim($val);
  114. if(ereg("^[a-zA-Z0-9]{" .$min.",".$max."}$",$val))
  115. true 반환;
  116. false 반환;
  117. }
  118. /*
  119. ---------------------- --------------- ---------
  120. 함수 이름: isNumberLength($theelement, $min , $max)
  121. 간략한 설명: 문자열 길이가 요구 사항을 충족하는지 확인
  122. 입력: 혼합(문자열, 최소 길이, 최대 길이)
  123. 출력: 부울
  124. 수정 로그:------ -
  125. ------------- ------- --------------
  126. */
  127. 함수 isNumLength($val, $ min, $max)
  128. {
  129. $theelement= Trim($val);
  130. if(ereg("^[0-9]{".$min.",".$max."} $",$val))
  131. true 반환;
  132. false 반환;
  133. }
  134. /*
  135. --- --------------------- ----------------
  136. 함수 이름: isNumberLength ($theelement, $min, $max)
  137. 간략 설명: 문자열 길이가 요구 사항을 충족하는지 확인
  138. 입력: 혼합(문자열, 최소 길이, 최대 길이)
  139. 출력: 부울
  140. 수정 로그:------
  141. ---- ----------------------- -------------- ----
  142. */
  143. 함수 isEngLength($val, $min, $max)
  144. {
  145. $theelement=trimm($val);
  146. if(ereg("^[ a-zA-Z]{".$min.",".$max."}$",$val))
  147. true 반환;
  148. false 반환;
  149. }
  150. /*
  151. -------------------------- ------ -------
  152. 함수명 : isEnglish
  153. 간략한 설명 : 입력이 영어인지 확인
  154. 입력 : string
  155. 출력: 부울
  156. 작성자: ------
  157. 수정 로그: ------
  158. --- ---------- --------
  159. */
  160. function isEnglish($theelement)
  161. {
  162. if( ereg("[x80-xff].",$theelement) )
  163. {
  164. 반환 false;
  165. }
  166. 반환 true;
  167. }
  168. /*
  169. --------------------------------- ------------ -----
  170. 함수명: isChina
  171. 간략한 설명: 입력이 한자인지 확인
  172. 입력: 문자열
  173. 출력: 부울
  174. 수정 로그: ------
  175. ---------- ------------------------ --------
  176. */
  177. /*
  178. 함수 is중국어($sInBuf)//문제가 있는 함수
  179. {
  180. $iLen= strlen($sInBuf);
  181. for($i= 0; $i< $iLen; $i )
  182. {
  183. if(ord($sInBuf{$i})>=0x80)
  184. {
  185. if( (ord($sInBuf{$i})>=0x81 && ord($sInBuf{$i})<=0xFE) && ((ord($sInBuf{ $i 1})>=0x40 && ord($sInBuf{$i 1}) < 0x7E) || (ord ($sInBuf{$i 1}) > 0x7E && ord($sInBuf{$i 1} )<=0xFE)) )
  186. {
  187. if(ord($sInBuf{$i})> 0xA0 && ord($sInBuf{$i})<0xAA)
  188. {
  189. //중국어 구두점 사용
  190. return false;
  191. }
  192. }
  193. else
  194. {
  195. //일본어 또는 기타 텍스트
  196. return false;
  197. }
  198. $i ;
  199. }
  200. else
  201. {
  202. return false;
  203. }
  204. }
  205. return true;
  206. }*/
  207. function isChina($sInBuf)//올바른 함수
  208. {
  209. if (preg_match("/^[x7f-xff) ] $/", $sInBuf)) { //gb2312, utf-8과 호환
  210. return true;
  211. }
  212. else
  213. {
  214. return false;
  215. }
  216. }
  217. /*
  218. ---------- ---------------------------- ---------
  219. 함수 이름: isDomain($Domain)
  220. 간략한 설명: (영어) 도메인 이름이 합법적인지 확인
  221. 입력: 문자열 도메인 이름
  222. 출력: 부울
  223. 수정 로그: -------
  224. --------- -------------- -----------
  225. */
  226. 함수 isDomain($ 도메인)
  227. {
  228. if(!eregi("^[0-9a-z] [0-9a -z.-] [0-9a-z] $", $Domain))
  229. {
  230. false 반환;
  231. }
  232. if( !eregi(".", $Domain))
  233. {
  234. false 반환;
  235. }
  236. if(eregi( "-.", $Domain) 또는 eregi("--", $Domain) 또는 eregi("..", $Domain) 또는 eregi(".-", $Domain))
  237. {
  238. 반환 false;
  239. }
  240. $aDomain= 폭발(".",$Domain);
  241. if( !eregi("[a-zA-Z]",$aDomain[count($aDomain) )-1]) )
  242. {
  243. false 반환;
  244. }
  245. if (strlen($aDomain[0]) > 63 || strlen($aDomain[0]) < ; 1)
  246. {
  247. false 반환;
  248. }
  249. true 반환;
  250. }
  251. /**
  252. * 날짜 확인 함수
  253. * @paramknown_type $date
  254. * @paramknown_type $format
  255. * @throws Exception
  256. * @return boolean
  257. */
  258. 함수 verifyDate( $date, $format= 'YYYY-MM-DD')
  259. {
  260. 스위치( $format )
  261. {
  262. 케이스 'YYYY/MM/DD':
  263. 케이스 'YYYY-MM-DD':
  264. list( $y, $m, $d ) = preg_split( '/[-./ ]/', $date );
  265. break;
  266. case 'YYYY/DD/MM':
  267. 사례 'YYYY-DD-MM':
  268. list( $y, $d, $m ) = preg_split ( '/[-./ ]/', $date );
  269. break;
  270. 케이스 'DD-MM-YYYY':
  271. 케이스 'DD/MM/YYYY':
  272. list( $d, $m, $y ) = preg_split( '/[-./ ]/' , $date );
  273. break;
  274. case 'MM-DD-YYYY':
  275. case 'MM/DD/YYYY':
  276. list( $m, $d, $y ) = preg_split( '/[-./ ]/', $date );
  277. break;
  278. case 'YYYYMMDD':
  279. $y = substr( $date, 0, 4 );
  280. $m = substr( $date, 4, 2 );
  281. $d = substr( $date, 6, 2 );
  282. break;
  283. 케이스 'YYYYDDMM':
  284. $y = substr( $date, 0, 4 );
  285. $d = substr( $date, 4, 2 );
  286. $m = substr( $date, 6, 2 );
  287. break ;
  288. 기본값:
  289. throw new Exception( "잘못된 날짜 형식" );
  290. }
  291. return checkdate( $m, $d, $y );
  292. }
  293. /*
  294. --- ----------------------- --------------
  295. 함수 이름: isDate
  296. 간략한 설명: 날짜가 0000-00-00과 일치하는지 확인하세요.
  297. 입력: 문자열
  298. 출력: 부울
  299. 수정 로그: ------
  300. -------- --------------- ---------------------- -
  301. */
  302. 함수 isDate($sDate)
  303. {
  304. if( ereg("^[0-9]{4}-[][0-9]{2}-[0 -9]{2}$",$sDate) )
  305. {
  306. true 반환;
  307. }
  308. else
  309. {
  310. false 반환;
  311. }
  312. }
  313. /*
  314. ----------------------------------------------- --------------------
  315. 기능 이름 : istime
  316. 간단한 설명 : 날짜가 일치하는지 0000-00-00 00:00:00:00
  317. 입력 : 문자열 출력 : boolean
  318. 수정 로그 : ------
  319. -------------------------- ----------------------------------------------
  320. */
  321. 기능 ISTIME ($ stime)
  322. {
  323. if (ereg ( "^[0-9] {4}-[] [0-9] {2}-[0-9] {2} [0-9] {2} : [0-9] {2} : [0-9] {2} $ ", $ stime))) return true;
  324. } {
  325. return false; }
  326. }
  327. /* ---------------------------------------------------------- ----- ------------------------------
  328. 기능 이름 : IsMoney ($ val)
  329. 간단한 설명 : 확인 : 입력 값은 합법적 인 RMB 형식 입력 : 문자열 출력 : boolean 수정 로그 : ------
  330. ------------- ----------- ----------------------------------
  331. */ function ismoney ($ val)
  332. { if (ereg ( "^[0-9] {1,} $", $ val))
  333. return true; /* ------------------------------------------ ---------- -------
  334. 함수 이름 : ISIP ($ val)
  335. 간단한 설명 : 입력 IP가 요구 사항을 충족하는지 확인
  336. 입력 : String
  337. 출력 : 부울 수정 로그 : ----
  338. ---------------------------------- -------------- ----------------------------
  339. */
  340. 함수 ISIP ($ val) return (bool) ip2long ($ val);
  341. }
  342. // ----------------------------------------- ------------------ --------------------------------
  343. /** * 휴대폰 번호 확인
  344. * @param int $mobile
  345. /
  346. function valid_mobile ($ mobile) { if (strlen ($ mobile)! = 11) false; if (preg_match ( '/13 [0-9] d {8} | 15 [0 | 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9] d {8} | 18 [0 | 5 | 6 | 7 | 8 | 9] d {8}/', $ mobile))) {
  347. return true;
  348. } else {
  349. return false;
  350. }
  351. }
  352. /**
  353. * 썸네일 생성 기능은 GD2를 사용하는 것이 가장 좋습니다
  354. *
  355. * @param string $srcFile 썸네일을 생성할 파일
  356. * @param int $toW Thumbnail width
  357. * @param int $toH 썸네일 높이
  358. * @param string $toFile 썸네일 파일
  359. */
  360. 기능 imagizeize ($ srcfile, $ tow, $ toh, $ tofile = "") {
  361. if ($ tofile == "") {$ tofile = $ srcfile; $ info = ""; switch ($ data [2]) { case 1 :
  362. if (! function_exists "imageCreateFromgif")) { // echo "GD 라이브러리는 GIF 형식의 이미지에 대해서는 할 수 없으므로 JPEG 또는 PNG 형식을 사용하십시오! & lt; a href = 'javaScript : go (-1);'& gt; return & lt;/a & gt; ";
  363. return false;
  364. }
  365. $ im = imageCreateFromGif ($ srcfile); break ; CASE 2 :
  366. if (! function_exists ( "imageCreatefromjpeg")) { // echo "GD 라이브러리는 jpeg 형식으로 이미지를 사용할 수 없으므로 다른 형식의 이미지를 사용하십시오!"& lt; a href = 'javaScript : go (-1);'& gt; default & lt;/a & gt; ";
  367. return false;
  368. }
  369. $ im = imageCreatefromjpeg ($ srcfile); break $ im = imagecreateflestfompng ($ srcfile); = $ ftow*($ srch/$ srcw);
  370. } $ ftoh = $ toh; $toH)
  371. {
  372. if(function_exists("createimageTrueColor")){
  373. @$ni = ImageCreateTrueColor($ ftoW , $ftoH ) > $ni=ImageCreate($ftoW,$ftoH);
  374. imagecopyresized ($ ni, $ im, 0,0,0,0, $ ftow, $ ftoh, $ srcw, $ srch) else {
  375. $ ni = imageCreate ($ ftow, $ ftoh); ;);); }
  376. if (function_exists ( 'ImageJpeg')) imageJpeg ($ ni, $ tofile); else imagepng ($ ni, $ tofile);
  377. imageStroy ($ ni); } else {
  378. imageStroy ($ im);
  379. return false; }
  380. imageStroy ($ im);
  381. 반환 true;
  382. / / 🎜 >
  383. 정적 함수 strTrim ( $str )
  384. {
  385. return preg_replace ( " / s / " " ", $str ); 🎜> // 키워드를 지정 정적 함수 사용자 이름 ($ str, $ type, $ len) if ($ len & lt; strlen ($ str))) {
  386. > return false; } else { switch ($ type) { case "en"> if (preg_match ( " / ^ [a -za -z] $ / ", $ str))
  387. {
  388. return true;
  389. } else {
  390. > return false;
  391. } break;
  392. case"5 "http : // enclosure
  393. if (preg_match (" / ^ [a -za -z0-9] $ / ", $ str)) return true; (" / ^ [| - - - - [ / ^ [| - _a-za-z0-9] $/", $ str)))
  394. {
  395. return true;
  396. } else {
  397. return false;
  398. } break; $ str = self :: strtrim ($ str); 🎜> $ str = self :: strtrim ($ str);
  399. if (preg_match ( "/^([a-z0-9_]] | \-| \.) @([a-z0- 9_] | \-) \.) {1,2} [a-z] {2,4} $/i ", $ str)) {
  400. return true;
  401. } else { return false;
  402. } 정적 함수 idcard ($ str) {
  403. $ str = self :: strtrim ($ str);
  404. if (preg_match ( "/^([0-9] {15-9]] {17} [0-9a-z]) $/i", $ str )) {
  405. } else {
  406. {
  407. $ strm :: strtrim; } | 0 [0-9] {3})-[0-9] {7.8} $/", $ str)) {
  408. return true;
  409. } else {
  410. 거짓 Return false ;
  411. }
  412. break;
  413. case "int": if (preg_match ( "/^[0-9] {4}-([0-9] {3} | 0 [0 -9] {3})-[0-9] {7.8} $/", $ str))) return true; } else {
  414. return false; }
  415. break;
  416. }
  417. } * 2 차원 배열의 값
  418. * @param 2 차원 배열 $ ARR_DATA
  419. * @param 1 차원 배열 $ field * /
  420. getArrayfield ($ arr_data, $ field); ; $ value) { foreach ($ field as $ k = & gt; $ v) {
  421. if (array_key_exists ($ v, $ value)) // 암호화 키
  422. {
  423. $ resultarr [$ key] [$ v] = $ value [$ v]; $ resultarr [$ v] = "기본값의 업데이트"; 🎜>} }
  424. }
  425. return $ resultarr;
  426. /**
  427. * 클라이언트 IP 주소 가져오기
  428. * @return ip
  429. */
  430. 함수 get_client_ip(){
  431. if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
  432. $ip = getenv("HTTP_CLIENT_IP");
  433. else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "알 수 없음"))
  434. $ip = getenv("HTTP_X_FORWARDED_FOR");
  435. else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "알 수 없음"))
  436. $ip = getenv("REMOTE_ADDR");
  437. else if (isset($_SERVER[' REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "알 수 없음"))
  438. $ip = $_SERVER['REMOTE_ADDR'];
  439. else
  440. $ ip = "알 수 없음";
  441. return($ip);
  442. }
  443. function get_http_user_agent(){
  444. return isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
  445. }
  446. /**
  447. * IP 주소에서 실제 주소 가져오기
  448. * @param IP $ip
  449. */
  450. 함수 get_address_from_ip($ip){
  451. $url='http:// www.youdao.com/smartresult-xml/search.s?type=ip&q=';
  452. $xml=file_get_contents($url.$ip);
  453. $data=simplexml_load_string($xml);
  454. $data->제품->위치;
  455. } 반환
  456. /**
  457. * 자동으로 비밀번호를 생성하는 데 사용할 수 있는 임의의 문자열을 생성합니다. 기본 길이는 6자리 문자와 숫자 혼합
  458. * @param string $len length
  459. * @param string $type string type
  460. * 문자 0자 숫자 1자 대문자 2자 소문자 3자 기본 혼합 4 중국어
  461. * @param string $addChars 추가 문자
  462. * @return string
  463. */
  464. function rand_string($len=6,$type='',$addChars='') {
  465. $str ='';
  466. 스위치($type) {
  467. 사례 0:
  468. $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.$addChars;
  469. break;
  470. 사례 1:
  471. $chars= str_repeat('0123456789' ,3);
  472. 중단;
  473. 사례 2:
  474. $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ'.$addChars;
  475. 중단;
  476. 사례 3:
  477. $chars='abcdefghijklmnopqrstuvwxyz'.$ addChars;
  478. break;
  479. 사례 4:
  480. $chars = "우리가 할 때 국산 것을 옮겨야 노동자들이 불화 속에서 진전을 이룰 수 있고 주체가 주체가 되어 학생들을 하급 학생으로 나눌 수 있다고 생각합니다. 지역 사람들은 혁명 이후 많은 아이들이 소셜 네트워크에 추가되고 전력선의 힘, 고품질 장기 파티, 실제 가족, 심오한 법, 물의 물리 화학적 투쟁, 그리고 농업이 없는 두 번의 정치, 세 번의 선, 그리고 열 번의 전쟁의 출현 반성적, 반물리적 협력의 로드맵은 두 가지 관점에서 결국 논의되는 것과 새로운 것에 초점을 맞추는 것입니다. 탤런트 팀의 생각과 시간에 집중하고, 요인, 일상의 이익, 압박감, 카르마, 전체를 제거하기 위해 그룹의 열매 기간은 각 기지 또는 머리카락의 평준화로 이어집니다. 그러나 모양, 상상, 마음이 모두 바뀌면 비율을 물어보고 가장 외부적이고 숲과의 관계에 대한 다섯 가지 해석을 보지 않는다는 것을 보여줍니다. 4도로는 상대적으로 문법적이라는 것을 인정하지만 주도적인 힘이 수용자리로 흘러 들어가 원유를 문제 삼아 지구 건설 점검 활동을 언급하는 경우가 많다. Shiqiang과 Tu Shaoji는 공통적이고 통일된 시스템을 구축했으며 Jiuyou와 Xizhi는 Zhiguan, Qimoshan, Cheng Baibao를 재선했으며 보고서에서는 경영진을 교체하기 위해 열을 유지하고 손을 맡길 필요가 있음을 알게 될 것입니다. 지점, 증상, 노인 수, 6가지 유형 및 재활 벨트 수를 파악하고 바람을 마친 후 Laolunk의 Nanguang으로 돌아가 작업 일정과 생산 섹션을 통합했습니다. 단계 번호가 나열되어 있으며 샤프트가 연마되고 단색으로 이루어졌습니다. Rashidal Field Weaving Calendar Flower에서 정보 전달, 금메달 수집, 금메달 결정. 국경 청소, 기술 조건 최종 검사, 공장을 바다에서 분리해야 하며 어린이 청소년 인증서가 낮고 8가지 테스트 규정을 통과합니다. 카운티 군인은 견고하고 수천 번의 승리, 미세한 그림자를 가져올 수 있습니다. 및 Jibai 그리드 효과 몸이 꽉 찬 액체 시스템, 정확한 무게 각도, 치수 감소 보드, Xu 깨진 기술, 바닥 침대 필드 잠재력, 정신 감각, Hecun 구성, 외관, Yamo 가족 화재 섹션, 적합한 값, 아름다운 외관, Huang 의표, 아침교대 노젓는 소리가 호우카오에게 해를 끼친다. 산도를 유발하는 주변 음식 방사성 소스에 대한 기타 일반적인 이야기 오래되었지만 충분한 짧은 뇌졸중 에이전트 Xuanhuan Luoshou Chibo Chengfenjianfu 물고기 테스트 조각이 있는 물고기는 가지 박테리아를 캡슐화하고 촉진하기 위해 충분한 남편 손실에 의존합니다. 주변 보호 암석 엔지니어 Qu Chunyuan 슈퍼 네거티브 모래 밀봉 교체 Taimo 빈곤 감소 Yangjiang 분석 Mu Mu Yan Qi Chao Medical School Gu Ni Dao Song Ting Wei Shu Hua 역 또 다른 Wei Zi Gu Gang이 Liu Wei Lue Fan Gong A Kuai의 특정 장점을 썼습니다. 설정된 친구는 롤을 되감고 법을 만드는 것으로 제한됩니다. Guyuan은 Chupi가 우위를 점할 수 있도록 돕고 Weiji 훈련 및 제어는 구름을 자극하고 곡물을 깨뜨립니다. Late Silk Girl Disperse Welding Gongzhu Yin Leng Che Bounce Disperse Business Visual Art Destroy Edition Lie Zero Room Light Blood Double Deficiency Pump Cha Jue Fu City Chong 스프레이 토양 Jian Fuzhu Li Wangpan Magi Xiong은 갇힌 것 같습니다. Gong Yizhou가 이륙하여 노예 측면 실행을 전달합니다. 표지가 손을 흔들고 별을 만지고 공무원을 보냈습니다. 혼합 규율은 아직 나타나지 않았습니다. 넓은 겨울 장은 젖어 있고 부분적입니다. 보스는 광산 마을을 책임지고 있으며 두꺼운 Luo Ni Pi Sui 계란 상자 팜 산소 사랑 중지 일단 해결되면 캠프 종료 강 Meng Qian 피로를 기다리고 있습니다. 수축 모래 퇴각 첸 도전 장비 운반 세포 젊음 착취 회전 부과금 동굴 처리 운반 여전히 예 신선한 바 카드 두꺼운 소개 드릴링 약점에 의한 발은 소금 먼지, 구름, 안개, 왕관, 빙 거리, 방사능을 두려워합니다. 창자, 후지, 루이, 깜짝 놀라, 초 동안 짜내다, 무란센, 설탕, 성스러운 오목 도자기 시, 늦은 누에, 수십억의 순간, 강준무, 정원 톤에 액자됨, 향, 육체 형제 우민희, 잊어버림 편집하고 인쇄합니다. 벌이 상처를 확장하고 코어 가장자리를 노출시킵니다. 매우 빠르고 밝습니다. 종이가 없는, 밤의 마을, 실린더입니다. 클립 및 읽기 Lan Yinggou B? 탄소 성능, 치아 싹에 부착, Yongwa, 경사 관개, 유럽 Xianshun, 돼지, 외국 부패, 위험을 공개하십시오. 정맥은 웃어야 하며, 꼬리 무리가 강하면 야채 귀 , 추한을 치료하고, 청약을 하고, 소를 염색하고, 가을에 단조하고, 여름에 옥을 처리하고, 비주에서 번식 우물을 방문하여 손님을 불러 일으키고, 깨운다. 가뭄에 이르기까지 두뇌를 계몽하고 보물을 뚫고 용감히 용광로 껍질의 균열을 명령하고 유황 석탄이 주물과 막대기를 환영하며 얇은 열흘을 탐구하고 행운을 누리고 예절을 선택하고 소원을 빌며 천둥을 제압하고, 연기를 퍼뜨리고, 순수하고, 점차적으로 쟁기질하고, 늪을 달리고, 천천히 심고, 육적판 상황이 뒤집어지고, 서치가 망하고, 배가 망가지고, 거짓 빛이 신에게 맡겨졌다고 한다. 남편 절회가 잘라 조공을 바쳐 큰 재물을 바쳤고, 배가 기록되고, 여자가 악해지고, 마을이 위험해지고, 종이 흔들리고, 손잡이가 논쟁을 벌이고, 대나무 계곡이 팔리고, 다리가 무너졌다. 혼란에 빠진 오버는 수직 도로로 돌진하고 이마는 잘리고 야생 유적은 조용해지고 계급은 교수형에 처해지며 마을은 번영하고 지구력은 지원되며 열쇠는 반환되고 푸칭은 모 주위에 모여들고 바쁘다 춤추고, 고교양호 못알갱이 소리를 만나며, 소리를 깨고, 홍수와 죽음을 피하기 위해 등불을 뻗고, 홍수의 공격을 받은 용감한 황제 유하지에, 감누오, 시안농섬에 대포로 대답하다 반점을 붓고 영혼 알을 이해하고 아이가 가슴을 풀고 거인의 개인 은행 Yi Jingtan Lei Jun 금형 Du Lele이 굴곡을 분리하여 Zhao Shao Hu Hu Tong Feng Ling Chai Huang Wu가 Shang Ding Qin Shao Zhui Liang으로 뛰어 올랐습니다. 알칼리 특수 언덕 파기 칼날 드라마 더미 He He Che Heng Qin 영화는 사건 저널에 게재됨 묘목 느린 돌출 절단 사천 눈 사슬 어부 얼굴 Hu Luo Fu Bo League 구매 Yang Zong Jiao Sai 깃발 필터 실리콘 탄소 스톡 앉아 증기 응축 실제로 갇힌 총 리 저장 위험 다크홀 범인 튜브 당신 노래 아크 폭발 독기 투 웨이 진 팔 장벽 갈색 땅 아 Jianzun Douba Mo 상포에 도착 바느질 경찰 얼음을 집다 캄보디아 입 무슨 쌀 플라스틱 메일 조오 외침 패드 단두 귀 기획 호랑이 펜 얇은 Kunlang Sa 차는 Lun Niang 톤에 흠뻑 젖은 소매 구슬을 덮고있는 얕은 성기를 떨어 뜨립니다. 여성 어머니 보라색 오페라 망치 충격적인 나이, 아름다운 얼굴, 감옥 앞, 폭군의 의심, 맹렬한 불평, 갑작스런 재난, Qiao Tang이 소식을 유출했습니다. 가라앉는 염소 폐기물 줄기, 조각상을 훔친 남자들도 노래에 충성했고, 맹우가 체포되었고, 오지단은 반역자를 포획하고, 만지고, 녹이고, 쓸고, 유리, 보신예, 건밀기, 강칼슘을 배반하도록 허용했습니다. 어깨, 등 건조, 난간 던지기, 아빠 섞기, 유혹을 따르다, 소원, 격려, 술줄, 불쌍한 연못, 마른 거품 주머니, 알루미늄 먹이, 연약한 운하, 습관 무역, 배설물, 종합 벽, 추세, 잉크, 방해 기니 Sun Linling이 속이고 차용했습니다. ".$addChars;
  481. break;
  482. 사례 5:
  483. $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.$addChars;
  484. break;
  485. 기본값:
  486. // The 혼동하기 쉬운 문자 oOLl 및 숫자 01은 기본적으로 제거됩니다. 추가하려면 addChars 매개변수
  487. $chars='ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'.$addChars;
  488. break;
  489. }를 사용하세요.
  490. if($len>10 ) {//자릿수가 너무 길어서 문자열이 일정 횟수 반복됩니다.
  491. $chars= $type==1? str_repeat($chars,$len) : str_repeat($chars,5) ;
  492. }
  493. if($type == 4){ // 중국어 처리
  494. $chars = preg_replace('/[^\x{4e00}- \x{9fa5}]/u ', '', $chars); // //utf8이 아닌 한자를 제거합니다.
  495. $chars = Chunk_split($chars,3,",") // / /3자마다 ","를 삽입하고 배열로 변환하여 사용합니다. strlen()을 사용하여 PHP에서 한자가 3자를 차지하는지 측정합니다.
  496. $re =explore(",",$chars);
  497. shuffle($re);//배열을 무작위로 재정렬
  498. $chars = implode($re);
  499. unset($re);
  500. $str = mb_substr($chars,0,$len," utf-8");
  501. }else {
  502. $chars = str_shuffle($chars);
  503. $str = substr($chars,0,$len);
  504. }
  505. return $str;
  506. }
  507. //url에서 매개변수 값 가져오기
  508. 함수 geturlval($url,$name)
  509. {
  510. $arr = parse_url( $url);
  511. $arr_query = $this-> ;convertUrlQuery($arr['query']);
  512. return $arr_query[$name];
  513. }
  514. function ConvertUrlQuery($query)
  515. {
  516. $ queryParts =Explode('&', $query);
  517. $params = array();
  518. foreach($queryParts를 $param으로)
  519. {
  520. $item = 폭발('= ', $param);
  521. $params[$item[0]] = $item[1];
  522. }
  523. 반환 $params;
  524. }
  525. /**
  526. * 원격 이미지 가져오기
  527. *
  528. * @param string $url 원격 이미지 경로
  529. * @param string $filename 로컬 저장소 파일 이름
  530. */
  531. function GrabImage($url, $savepath) {
  532. if($url =="") {
  533. return false; //$url이 비어 있으면 false를 반환합니다.
  534. }
  535. $ext_name = strrchr($url, '.') //이미지 확장자를 가져옵니다.
  536. if($ext_name != '. gif' && $ext_name != '.jpg' && $ext_name != '.bmp' && $ext_name != '.png') {
  537. return false //형식이 허용되는 범위를 벗어났습니다.
  538. }
  539. //원본 사진 이름 가져오기
  540. $filename = $savepath .'\'.end(explode('/',$url));
  541. //캡처 시작
  542. ob_start() ;
  543. readfile($url);
  544. $img_data = ob_get_contents() ;
  545. ob_end_clean();
  546. $size = strlen($img_data);
  547. $local_file = fopen($filename , 'a');
  548. echo $filename;
  549. if(fwrite( $local_file, $img_data)== FALSE){
  550. echo '이미지 다운로드 실패';
  551. }
  552. fclose($ local_file);
  553. return $filename;
  554. }
  555. }
  556. ?>
코드 복사



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿