function GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif(!empty($_SERVER["REMOTE_ADDR"])){
$cip = $_SERVER["REMOTE_ADDR"];
}else{
$cip = "";
}
return $cip;
}
function HttpRequest($url, $type = 'get', $data = '',$timeout = 10,$header = array())
{$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
if (strtoupper($type) == 'POST') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_ENCODING , 'gzip');
$result['response'] = curl_exec($ch);
$result['status']=curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $result;
}
function SaveLog($content = '', $filename = 'others')
{
$rootDir = \Config::get('app.rootDir');
$logdir = $rootDir . '/app/storage/logs/';
if (!is_dir($logdir)) mkdir($logdir, 0777, true);
$filename = $filename.'_'.date('ymd');
$filename = $logdir . $filename . ".log";
$fp = fopen($filename, "a+");
$line = 1;
while (stream_get_line($fp, 8192, "\n")) {
$line++;
}
if ($line > 9999) {
file_put_contents($filename, '');
$line = 1;
}
$info = '<' . sprintf("%04d", $line) . '>' . date("Y-m-d H:i:s") . '<>';
$string = $info . str_replace("\n", "", str_replace("\r", "", $content)) . "\r\n";
file_put_contents($filename, $string, FILE_APPEND);
fclose($fp);
}
/**
* 获取或保存文件内容
* @param string $filedir 文件路径
* @param string $content 文件内容
* @return string
*/
function FileContent($filedir = '', $content = '')
{
if (empty($filedir)) return '';
if (empty($content)) {
if (file_exists($filedir)) {
$fp = fopen($filedir, "r");
$content = file_get_contents($filedir);
fclose($fp);
return $content;
} else {
return '';
}
} else {
$fps = fopen($filedir, "a");
file_put_contents($filedir, $content);
fclose($fps);
return true;
}
}

PHP个人常用函数封装的更多相关文章

  1. php文件操作(最后进行文件常用函数封装)

    文件信息相关API $filename="./1-file.php"; //filetype($filename):获取文件的类型,返回的是文件的类型 echo '文件类型为:', ...

  2. PHP常用函数封装

    //二分查找function bin_sch($array, $low, $high, $k){    if ($low <= $high) {        $mid = intval(($l ...

  3. Javascript:常用函数封装

    //cookie function setCookie(name, value, iDay) { if(iDay!==false) { var oDate=new Date(); oDate.setD ...

  4. javascript常用函数封装——运动、cookie、ajax、获取行内样式兼容写法、拖拽

    运动.cookie.ajax.获取行内样式兼容写法.拖拽封装大合集. //url,data,type,timeout,success,error function ajax(options){ //- ...

  5. Python:常用函数封装

    def is_chinese(uchar): """判断一个unicode是否是汉字""" if uchar >= u'\u4e00' ...

  6. shell常用函数封装-main.sh

    #!/bin/bash #sunlight sp monitor system #created on 2018/01/07#by chao.dong#used by sp servers consi ...

  7. C#验证邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP类等常用函数封装

    #region 验证邮箱验证邮箱 /**//// <summary> /// 验证邮箱 /// </summary> /// <param name="sour ...

  8. 我自己的Javascript 库,封装了一些常用函数 Kingwell.js

    我自己的Javascript 库,封装了一些常用函数 Kingwell.js 博客分类: Javascript javascript 库javascript库  现在Javascript库海量,流行的 ...

  9. PHP其它常用函数;<<<面向对象(OPP)的三大特性:封装、继承、加态:>>> <----面试题 ;构造方法、析构方法,魔术方法、set、get方法;静态;抽象类;接口

    PHP其它常用函数:     赋值:$r->name = "元素";      取值: echo $r->name;  count()   计算数组中的元素数目或对象中 ...

随机推荐

  1. ios UITapGestureRecognizer 单指单击、单指多击、多指单击、多指多击事件操作

    转自:http://blog.csdn.net/longzs/article/details/7457108 在ios开发中,需用到对于手指的不同操作,以手指点击为例:分为单指单击.单指多击.多指单击 ...

  2. Silverlight中如何自己写方法将DataTable转换为PagedCollectionView数据(动态创建类)

    将DataTable转换为PagedCollectionView数据,我们可以借用DataTable的GetBindableData()方法,如下: DataTable dt=new DataTabl ...

  3. GO对象和指针初始化

    转自http://www.cnblogs.com/tianyajuanke/p/5234205.html

  4. PAT (Top Level) Practise 1005 Programming Pattern (35)

    后缀数组.排序之后得到height数组,然后从上到下将height>=len的都分为一组,然后找到第一组个数最多的输出即可. #pragma comment(linker, "/STA ...

  5. Logistic Regression 模型简介

    逻辑回归(Logistic Regression)是机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛.本文作为美团机器学习InAction系列中的一篇, 主要关注逻辑回归算法的数学 ...

  6. linux脚本Shell之九九乘法表

    说到9*9乘法表,许多朋友在想这是小学二年级就会的东西,不错,确实是这样,那么在linux下,使用shell打印出99乘法表应该如何编写脚本的? 笔者的文档今天就写下来,有需要的朋友可以参考下 代码: ...

  7. html 细线表格

    可以<table width="800px" cellpadding="0" border="1px" style="bor ...

  8. MT5基础知识

    获取账户相关信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 printf("ACCOUNT_BALANCE ...

  9. linux tar包追加问题【转】

    只能已归档的文件才能追加文件. 如果tar.gz文件是如此生成:#tar -zcvf test.tar.gz  a.txt即tar.gz是压缩(-z)和归档(-c)文件,则无法给它追加文件:若果tar ...

  10. SSH returns “too many authentication failures” error – HostGator

    I am an avid fan of using HostGator for small business WordPress website hosting. I love that they u ...