1 つは、curl のポスト リクエスト関数です。これは主に、各プラットフォームでリクエスト インターフェイス処理関数を実行するための API 開発に使用されます。複数のプラットフォームがあり、相互にデータを転送したい場合、この関数は間違いなく使いやすいです。 PHP コード コンテンツをクリップボードにコピーします
/**
*curl アクセス プログラム インターフェイス -
* @param string -
* @return array -
*/ -
function getCurlDate($url, $datas, $key) { -
$datas['time'] = $_SERVER['REQUEST_TIME'] + 300; -
$post_data['post'] = urlencode(serialize($datas), "ENCODE", $key); -
// echo $url -
$ch =curl_init(); - curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- // データを送信しています。
- curl_setopt($ch, CURLOPT_POST, 1);
- //ポスト変数を追加します
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
- $output =curl_exec($ch);
-
php はファイル拡張子を取得します: -
- C/C++ コード コンテンツをクリップボードにコピーします
-
- /**
- * @ファイル拡張子を取得
* @$pic 文字列 画像のパス */
function get_file_ext($pic) {
return substr($pic, strrpos($pic, '.') + 1) }
-
そこでこれは、可逆的な暗号化および復号化関数でもあります (同じ文字列が別の文字列に暗号化され、非常に簡単に使用できます) -
- PHP コード 内容をクリップボードにコピーします
- /**
- * 文字列暗号化
- * @param $string 暗号化する文字
- * @param $operation 暗号化または復号化
- * @param $key クラックを防ぐためのウェブサイト暗号化キー
- * @return string
- */
- function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
- $ckey_length = 4;
- $key = md5($key ? $key : '^www.itokit.com$');
- $keya = md5(substr($key, 0, 16));
- $keyb = md5(substr($key, 16, 16));
- $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length) : substr(md5(microtime()), -$ckey_length)) : '';
-
- $cryptkey = $keya 。 md5($keya . $keyc);
- $key_length = strlen($cryptkey);
-
- $string = $operation == 'デコード' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0) 。 substr(md5($string . $keyb), 0, 16) . $string;
- $string_length = strlen($string);
-
- $result = '';
- $box = range(0, 255);
-
- $rndkey = array();
- for ($i = 0; $i
- $rndkey[$i] = ord($cryptkey[$i % $key_length]);
- }
-
- for ($j = $i = 0; $i < 256; $i++) {
- $j = ($j + $box[$i] + $rndkey[ $i]) % 256;
- $tmp = $box[$i];
- $box[$i] = $box[$j];
- $box[$j] = $tmp;
- }
-
- for ($a = $j = $i = 0; $i < $string_length; $i++) {
- $a = ($a + 1) % 256 ;
- $j = ($j + $box[$a]) % 256;
- $tmp = $box[$a];
- $box[$a] = $box[$j];
- $box[$j] = $tmp;
- $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
- }
-
- if ($operation == 'DECODE') {
- if ((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0 ) && substr($result, 10, 16) == substr(md5(substr($result, 26) . $keyb), 0, 16)) {
- return substr($result, 26);
- } else {
- return '';
- }
- } else {
- return $keyc 。 str_replace('=', '',base64_encode($result));
- }
- }
PHP コード复制内容到剪贴板
- /**
- * 文字列を 16 進数に変換
- * @paramunknown_type $s
- */
- function str2hex($s ) {
- $r = "";
- $hexes = array ("0","1","2","3","4","5","6","7","8","9","a" 、"b"、"c"、"d"、"e"、"f");
- for ($i=0; $i
- $r .= ($hexes [(ord($s{$i}) >> 4)] .$ 16 進数 [(ord($s{$i}) & 0xf)]);
- $r を返します。
- }
PHP コード复制内容to剪贴板
- /**
- * 文字列への 16 進数
- * @paramknown_type $s
- */
- function hex2str($s) {
- $r = "";
- for ( $i = 0; $i
- {
- $x1 = ord($s{$i});
- $x1 = ($x1>=48 && $x1
- $x2 = ord($s{$i+1});
- $x2 = ($x2>=48 && $x2
- $r .= chr((($x1 << 4) & 0xf0) | ($x2 & 0x0f));
- }
- $r を返します。
- }
PHP コード复制内容へ剪贴板
- /**
- * addslashes によって処理された文字列または配列を返します
- * @param $string 処理する必要がある文字列または配列
- * @returnmixed
- */
- function new_addslashes($string){
- if(!is_array($string)) return addslashes ($string);
- foreach($string as $key => $val) $string[$key] = new_addslashes($val);
- $string を返します。
- }
-
- /**/
- function addslashes_deep($string)
- {
- return is_array($string) ? array_map('addslashes_deep', $string) : addslashes($string);
- }
PHP コード复制内容到剪贴板
- /**
- * ストリップスラッシュで処理された文字列または配列を返します
- * @param $string 処理する必要がある文字列または配列
- * @returnmixed
- */
- function new_stripslashes($string) {
- if(!is_array($string)) return stripslashes($string);
- foreach($string as $key => $val) $string[$key] = new_stripslashes($val);
- $string を返します。
- }
- /**/ function stripslashes_deep($ string)
{return is_array($ string)? Clipboard -
-
/** -
* htmlspecialchars によって処理された文字列または配列を返します -
* @param $string 処理する必要がある文字列または配列
* @returnmixed */
function new_html_special_chars($string) {
if(!is_array($string)) return htmlspecialchars($string); -
foreach($string as $key => $val) $string[$key] = new_html_special_chars($val); -
$string を返します。 -
} -
-
-
PHP コード复制内容へ剪贴板 -
-
/**-
* リクエスト IP を取得 -
*
* @return IP アドレス */
function ip() {
if(getenv ('HTTP_CLIENT_IP') && strcasecmp(getenv( 'HTTP_CLIENT_IP'), 'unknown')) { -
$ip = getenv('HTTP_CLIENT_IP'); -
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { -
$ip = getenv('HTTP_X_FORWARDED_FOR'); -
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { -
$ip = getenv('REMOTE_ADDR'); -
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { -
$ip = $_SERVER['REMOTE_アドレス']; -
} -
return preg_match ( '/[d.]{7,15}/', $ip, $matches ) ? $matches [0] : ''; -
} -
-
-
PHP コード复制内容到剪贴板 -
- /**
- * 文字インターセプトは UTF8/GBK をサポートします
- * @param $string
- * @param $length
- * @param $dot
- */
- function str_cut($string, $length, $dot = '...') {
- $strlen = strlen($string);
- if($strlen <= $length) return $string;
- $string = str_replace(array(' ',' ', '&', '"', ''', '”', '”', '?', '<', '>', ' ·', '…'),array('∵',' ', '&', '"', "'", '"', '"', '?', '<', '>' , '·', '…'), $string);
- $strcut = '';
- if(strto lower(CHARSET) == 'utf-8') {
- $length = intval($length-strlen($dot)-$length/3);
- $n = $tn = $noc = 0;
- while($n < strlen($string)) {
- $t = ord($string[$n]);
- if($t == 9 || $t == 10 || (32 <= $t && $t <<= 126)) {
- $tn = 1; $n++; $noc++;
- } elseif(194 <= $t && $t <= 223) {
- $tn = 2; $n += 2; $noc += 2;
- } elseif(224 <= $t && $t <= 239) {
- $tn = 3; $n += 3; $noc += 2;
- } elseif(240 <= $t && $t <= 247) {
- $tn = 4; $n += 4; $noc += 2;
- } elseif(248 <= $t && $t <= 251) {
- $tn = 5; $n += 5; $noc += 2;
- } elseif($t == 252 || $t == 253) {
- $tn = 6; $n += 6; $noc += 2;
- } else {
- $n++;
- }
- if($noc >= $length) {
- break;
- }
- }
- if($noc > $length) {
- $n -= $tn;
- }
- $strcut = substr($string, 0, $n);
- $strcut = str_replace(array('∵', '&', '"', "'", '"', '"', '?', '<', '>', '·' , '…'),array(' ', '&', '"', '', '"', '"', '?', '<', '>', '·', ' …'), $strcut);
- } else {
- $dotlen = strlen($dot);
- $maxi = $length - $dotlen - 1;
- $current_str = '';
- $search_arr = array('&',' ', '"', "'", '"', '"', '?', '<', '>', '·', '… ','∵');
- $replace_arr = array('&',' ', '"', ''', '”', '”', '?', '<', '>' , '·', '…',' ');
- $search_flip = array_flip($search_arr);
- for ($i = 0; $i < $maxi; $i++) {
- $current_str = ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
- if (in_array($current_str, $search_arr)) {
- $key = $search_flip[$current_str];
- $current_str = str_replace($search_arr[$key], $replace_arr[$key], $current_str);
- }
- $strcut .= $current_str;
- }
- }
- return $strcut.$dot;
- }
PHP コード复制内容へ剪贴板
- /**
- * ランダムな文字列を生成します
- *
- * @param int $length 出力の長さ
- * @param string $chars オプション、デフォルトは 0123456789 です
- * @return string
- */
- function random($length, $chars = '0123456789 ') {
- $hash = ' ';
- $max = strlen($chars) - 1;
- for($i = 0; $i < $length; $i++) {
- $hash .= $chars[mt_rand(0, $max)];
- }
- return $hash;
- }
PHP コード复制内容へ剪贴板
- /**
- * 文字列を配列に変換します
- *
- * @param string $data String
- * @return array 配列形式を返します。データが空の場合は、空の配列を返します
- */
- function string2array($data) {
- if($data == '') 配列を返す();
- eval("$array = $data;");
- $array を返します。
- }
PHP コード复制内容到剪贴板
- /**
- * 配列を文字列に変換
- *
- * @param array $data 配列
- * @param bool $isformdata 0 の場合、new_stripslashes 処理は使用されず、オプションのパラメータ、デフォルトは 1 です
- * @ return string データが空の場合は、空の文字列を返します
- */
- function array2string($data, $isformdata = 1) {
- if($data == '') return '';
- if($isformdata) $data = new_stripslashes($data);
- return addslashes(var_export($data, TRUE));
- }
PHP コード复制内容へ剪贴板
- /**
- * バイト数を他の単位に変換します
- *
- *
- * @param $filesize バイト単位のサイズ
- * @return string 戻りサイズ
- */
- function sizecount($filesize) {
- if ($filesize >= 1073741824) {
- $filesize = round($filesize / 1073741824 * 100) / 100 .' GB';
- } elseif ($filesize >= 1048576) {
- $filesize = round($filesize / 1048576 * 100) / 100 .' MB';
- } elseif($filesize >= 1024) {
- $filesize = round($filesize / 1024 * 100) / 100 。 「 KB」;
- } else {
- $filesize = $filesize。 バイト';
- }
- $filesize を返す;
- }