ホームページ  >  記事  >  バックエンド開発  >  PHPの一般的なコード

PHPの一般的なコード

WBOY
WBOYオリジナル
2016-06-23 13:48:01758ブラウズ

1 つは、curl のポスト リクエスト関数です。これは主に、各プラットフォームでリクエスト インターフェイス処理関数を実行するための API 開発に使用されます。複数のプラットフォームがあり、相互にデータを転送したい場合、この関数は間違いなく使いやすいです。 PHP コード コンテンツをクリップボードにコピーします

/**

    *curl アクセス プログラム インターフェイス
  1. * @param string
  2. * @return array
  3. */
  4. function getCurlDate($url, $datas, $key) {
  5. $datas['time'] = $_SERVER['REQUEST_TIME'] + 300;
  6. $post_data['post'] = urlencode(serialize($datas), "ENCODE", $key);
  7. // echo $url
  8. $ch =curl_init();
  9. curl_setopt($ch, CURLOPT_URL, $url);
  10. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  11. // データを送信しています。
  12. curl_setopt($ch, CURLOPT_POST, 1);
  13. //ポスト変数を追加します
  14. curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
  15. $output =curl_exec($ch);
  16. php はファイル拡張子を取得します:
  17. C/C++ コード コンテンツをクリップボードにコピーします
  18. /**
  19. * @ファイル拡張子を取得
* @$pic 文字列 画像のパス */

function get_file_ext($pic) {

return substr($pic, strrpos($pic, '.') + 1) }

  1. そこでこれは、可逆的な暗号化および復号化関数でもあります (同じ文字列が別の文字列に暗号化され、非常に簡単に使用できます)
  2. PHP コード 内容をクリップボードにコピーします
    1. /**
    2. * 文字列暗号化
    3. * @param $string 暗号化する文字
    4. * @param $operation 暗号化または復号化
    5. * @param $key クラックを防ぐためのウェブサイト暗号化キー
    6. * @return string
    7. */
    8. function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
    9. $ckey_length = 4;  
    10. $key = md5($key ? $key : '^www.itokit.com$');  
    11. $keya = md5(substr($key, 0, 16));  
    12. $keyb = md5(substr($key, 16, 16));  
    13. $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length) : substr(md5(microtime()), -$ckey_length)) : '';  
    14. $cryptkey = $keya 。 md5($keya . $keyc);  
    15. $key_length = strlen($cryptkey);  
    16. $string = $operation == 'デコード' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0) 。 substr(md5($string . $keyb), 0, 16) . $string;  
    17. $string_length = strlen($string);  
    18. $result = '';  
    19. $box = range(0, 255);  
    20. $rndkey = array();  
    21. for ($i = 0; $i
    22. $rndkey[$i] = ord($cryptkey[$i % $key_length]);  
    23. }
    24. for ($j = $i = 0; $i < 256; $i++) {
    25. $j = ($j + $box[$i] + $rndkey[ $i]) % 256;  
    26. $tmp = $box[$i];  
    27. $box[$i] = $box[$j];  
    28. $box[$j] = $tmp;  
    29. }
    30. for ($a = $j = $i = 0; $i < $string_length; $i++) {
    31. $a = ($a + 1) % 256 ;  
    32. $j = ($j + $box[$a]) % 256;  
    33. $tmp = $box[$a];  
    34. $box[$a] = $box[$j];  
    35. $box[$j] = $tmp;  
    36. $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));  
    37. }  
    38. if ($operation == 'DECODE') {
    39. if ((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0 ) && substr($result, 10, 16) == substr(md5(substr($result, 26) . $keyb), 0, 16)) {
    40. return substr($result, 26);  
    41. } else {
    42. return '';  
    43. }
    44. } else {
    45. return $keyc 。 str_replace('=', '',base64_encode($result));  
    46. }
    47. }

    PHP コード复制内容到剪贴板

    1. /**
    2. * 文字列を 16 進数に変換
    3. * @paramunknown_type $s
    4. */
    5. function str2hex($s ) {
    6. $r = "";  
    7. $hexes = array ("0","1","2","3","4","5","6","7","8","9","a" 、"b"、"c"、"d"、"e"、"f");  
    8. for ($i=0; $i
    9. $r .= ($hexes [(ord($s{$i}) >> 4)] .$ 16 進数 [(ord($s{$i}) & 0xf)]);  
    10. $r を返します。  
    11. }

    PHP コード复制内容to剪贴板

    1. /**
    2. * 文字列への 16 進数
    3. * @paramknown_type $s
    4. */
    5. function hex2str($s) {
    6. $r = "";  
    7. for ( $i = 0; $i
    8. {
    9. $x1 = ord($s{$i});  
    10. $x1 = ($x1>=48 && $x1
    11. $x2 = ord($s{$i+1});  
    12. $x2 = ($x2>=48 && $x2
    13. $r .= chr((($x1 << 4) & 0xf0) | ($x2 & 0x0f));  
    14. }
    15. $r を返します。  
    16. }

    PHP コード复制内容へ剪贴板

    1. /**
    2. * addslashes によって処理された文字列または配列を返します
    3. * @param $string 処理する必要がある文字列または配列
    4. * @returnmixed
    5. */
    6. function new_addslashes($string){
    7. if(!is_array($string)) return addslashes ($string);  
    8. foreach($string as $key => $val) $string[$key] = new_addslashes($val);  
    9. $string を返します。  
    10. }
    11. /**/
    12. function addslashes_deep($string)
    13. {
    14. return is_array($string) ? array_map('addslashes_deep', $string) : addslashes($string);  
    15. }

    PHP コード复制内容到剪贴板

    1. /**
    2. * ストリップスラッシュで処理された文字列または配列を返します
    3. * @param $string 処理する必要がある文字列または配列
    4. * @returnmixed
    5. */
    6. function new_stripslashes($string) {
    7. if(!is_array($string)) return stripslashes($string);  
    8. foreach($string as $key => $val) $string[$key] = new_stripslashes($val);  
    9. $string を返します。  
    10. }
    11. /**/ function stripslashes_deep($ string)
    12. {return is_array($ string)? Clipboard
    13. /**
    14. * htmlspecialchars によって処理された文字列または配列を返します
    15. * @param $string 処理する必要がある文字列または配列
    * @returnmixed

    */

    function new_html_special_chars($string) {

      if(!is_array($string)) return htmlspecialchars($string);  
    1. foreach($string as $key => $val) $string[$key] = new_html_special_chars($val);  
    2. $string を返します。  
    3. }
    4. PHP コード复制内容へ剪贴板
    5. /**
    6. * リクエスト IP を取得
    7. *
    * @return IP アドレス

    */

    function ip() {

      if(getenv ('HTTP_CLIENT_IP') && strcasecmp(getenv( 'HTTP_CLIENT_IP'), 'unknown')) {
    1. $ip = getenv('HTTP_CLIENT_IP');  
    2. } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
    3. $ip = getenv('HTTP_X_FORWARDED_FOR');  
    4. } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
    5. $ip = getenv('REMOTE_ADDR');  
    6. } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
    7. $ip = $_SERVER['REMOTE_アドレス'];  
    8. }
    9. return preg_match ( '/[d.]{7,15}/', $ip, $matches ) ? $matches [0] : '';  
    10. }
    11. PHP コード复制内容到剪贴板
      1. /**
      2. * 文字インターセプトは UTF8/GBK をサポートします
      3. * @param $string
      4. * @param $length
      5. * @param $dot
      6. */
      7. function str_cut($string, $length, $dot = '...') {
      8. $strlen = strlen($string);  
      9. if($strlen <= $length) return $string;  
      10. $string = str_replace(array(' ',' ', '&', '"', ''', '”', '”', '?', '<', '>', ' ·', '…'),array('∵',' ', '&', '"', "'", '"', '"', '?', '<', '>' , '·', '…'), $string);  
      11. $strcut = '';  
      12. if(strto lower(CHARSET) == 'utf-8') {
      13. $length = intval($length-strlen($dot)-$length/3);  
      14. $n = $tn = $noc = 0;  
      15. while($n < strlen($string)) {
      16. $t = ord($string[$n]);  
      17. if($t == 9 || $t == 10 || (32 <= $t && $t <<= 126)) {
      18. $tn = 1; $n++; $noc++;  
      19. } elseif(194 <= $t && $t <= 223) {
      20. $tn = 2; $n += 2; $noc += 2;  
      21. } elseif(224 <= $t && $t <= 239) {
      22. $tn = 3; $n += 3; $noc += 2;  
      23. } elseif(240 <= $t && $t <= 247) {
      24. $tn = 4; $n += 4; $noc += 2;  
      25. } elseif(248 <= $t && $t <= 251) {
      26. $tn = 5; $n += 5; $noc += 2;  
      27. } elseif($t == 252 || $t == 253) {
      28. $tn = 6; $n += 6; $noc += 2;  
      29. } else {
      30. $n++;  
      31. }
      32. if($noc >= $length) {
      33. break;  
      34. }
      35. }
      36. if($noc > $length) {
      37. $n -= $tn;  
      38. }
      39. $strcut = substr($string, 0, $n);  
      40. $strcut = str_replace(array('∵', '&', '"', "'", '"', '"', '?', '<', '>', '·' , '…'),array(' ', '&', '"', '', '"', '"', '?', '<', '>', '·', ' …'), $strcut);  
      41. } else {
      42. $dotlen = strlen($dot);  
      43. $maxi = $length - $dotlen - 1;  
      44. $current_str = '';  
      45. $search_arr = array('&',' ', '"', "'", '"', '"', '?', '<', '>', '·', '… ','∵');
      46. $replace_arr = array('&',' ', '"', ''', '”', '”', '?', '<', '>' , '·', '…',' ');  
      47. $search_flip = array_flip($search_arr);  
      48. for ($i = 0; $i < $maxi; $i++) {
      49. $current_str = ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];  
      50. if (in_array($current_str, $search_arr)) {
      51. $key = $search_flip[$current_str];  
      52. $current_str = str_replace($search_arr[$key], $replace_arr[$key], $current_str);  
      53. }
      54. $strcut .= $current_str;  
      55. }
      56. }
      57. return $strcut.$dot;  
      58. }

      PHP コード复制内容へ剪贴板

      1. /**
      2. * ランダムな文字列を生成します
      3. *
      4. * @param int $length 出力の長さ
      5. * @param string $chars オプション、デフォルトは 0123456789 です
      6. * @return string
      7. */
      8. function random($length, $chars = '0123456789 ') {
      9. $hash = ' ';  
      10. $max = strlen($chars) - 1;  
      11. for($i = 0; $i < $length; $i++) {
      12. $hash .= $chars[mt_rand(0, $max)];  
      13. }
      14. return $hash;  
      15. }

      PHP コード复制内容へ剪贴板

      1. /**
      2. * 文字列を配列に変換します
      3. *
      4. * @param string $data String
      5. * @return array 配列形式を返します。データが空の場合は、空の配列を返します
      6. */
      7. function string2array($data) {
      8. if($data == '') 配列を返す();  
      9. eval("$array = $data;");  
      10. $array を返します。  
      11. }

      PHP コード复制内容到剪贴板

      1. /**
      2. * 配列を文字列に変換
      3. *
      4. * @param array $data 配列
      5. * @param bool $isformdata 0 の場合、new_stripslashes 処理は使用されず、オプションのパラメータ、デフォルトは 1 です
      6. * @ return string データが空の場合は、空の文字列を返します
      7. */
      8. function array2string($data, $isformdata = 1) {
      9. if($data == '') return '';  
      10. if($isformdata) $data = new_stripslashes($data);  
      11. return addslashes(var_export($data, TRUE));  
      12. }

      PHP コード复制内容へ剪贴板

      1. /**
      2. * バイト数を他の単位に変換します
      3. *
      4. *
      5. * @param $filesize バイト単位のサイズ
      6. * @return string 戻りサイズ
      7. */
      8. function sizecount($filesize) {
      9. if ($filesize >= 1073741824) {
      10. $filesize = round($filesize / 1073741824 * 100) / 100 .' GB';  
      11. } elseif ($filesize >= 1048576) {
      12. $filesize = round($filesize / 1048576 * 100) / 100 .' MB';  
      13. } elseif($filesize >= 1024) {
      14. $filesize = round($filesize / 1024 * 100) / 100 。 「 KB」;  
      15. } else {
      16. $filesize = $filesize。 バイト';  
      17. }
      18. $filesize を返す;  
      19. }

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。