php封装函数的例题,PHP个人常用函数封装

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 = '' . 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文件操作&lpar;最后进行文件常用函数封装)

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

PHP常用函数封装

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

Javascript:常用函数封装

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

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

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

Python:常用函数封装

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

shell常用函数封装-main&period;sh

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

我自己的Javascript 库,封装了一些常用函数 Kingwell&period;js

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

随机推荐

JavaScript错误之:Uncaught ReferenceError&colon; &dollar; is not defined

在js开发中,很多人遇到类似问题,都找不到解决方法.Uncaught ReferenceError: $ is not defined,在这里给大家提供几个解决方法. 方法/步骤11.出现这个错误,最 ...

2-06使用SQL语句创建数据库3

向现有数据库中添加文件组和数据文件几种方式以及步骤: 第一种:在视图下添加文件组和数据文件. 添加文件组的步骤: 右击你想要添加文件组的数据库点属性,然后点文件组就可以添加. 添加数据文件的步骤: 下 ...

最新RubyMine2016&period;2开发Ruby ON Rails(ROR)程序的流程

1.RubyMine新建ROR工程 File->New Project     选择Rails下的"New Application"     点击OK 后生成ROR项目   ...

java小程序 实例 二分法查找

使用二分法在一个数组中查找一个数: package com.test; public class BinaryFind { private final static int size = 500000 ...

PHP之路——微信公众号授权获取用户信息

官方文档链接:http://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.html /** * 获取code */ public f ...

lucene定义自己的分词器将其分成单个字符

问题描写叙述:将一句话拆分成单个字符.而且去掉空格. package com.mylucene; import java.io.IOException; import java.io.Reader; ...

接口interface,接口继承implements

php中,只支持从一个类继承,不支持从两个或者更多的类同时继承.从两个或者两个以上的类继承的能力被称为多重继承.php在设计上是禁止这种功能的.原因在于,避免多个类带来的复杂性.当发现需要从两个或者更 ...

发布一个参考ssdb,用go实现的类似redis的高性能nosql:ledisdb

起因 ledisdb是一个参考ssdb,采用go实现,底层基于leveldb,类似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持. 我们现在的应用极大的依 ...

&lbrack;心得&rsqb; 如何利用liquibase進行資料庫版本控制 - 實際練習

透過上一篇的基本觀念介紹,希望大家應該有一點點感覺了! 這篇我們就來做個簡單的版本演練,加深印象吧! 我使用的環境如下 System : Windows 7 Database : SQL Server ...

Aurelius vs mORMot vs EntityDAC Delphi 的 ORM框架

Aurelius vs mORMot vs EntityDAC   Delphi 的 ORM框架: http://www.tmssoftware.com/site/aurelius.asp#produ ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值