首頁 後端開發 php教程 继续收藏一些PHP常用函数_PHP

继续收藏一些PHP常用函数_PHP

Jun 01, 2016 pm 12:24 PM
常用函數

复制代码 代码如下:

function GetIP() { //获取IP
if ($_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if ($_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if ($_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
?>

复制代码 代码如下:
function DateAdd($date, $int, $unit = "d") { //时间的增加(还可以改进成时分秒都可以增加,有时间再补上)
$dateArr = explode("-", $date);
$value[$unit] = $int;
return date("Y-m-d", mktime(0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $dateArr[0] + $value['y']));
}
function GetWeekDay($date) { //计算出给出的日期是星期几
$dateArr = explode("-", $date);
return date("w", mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0]));
}
?>

复制代码 代码如下:

function check_date($date) { //检查日期是否合法日期
$dateArr = explode("-", $date);
if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) {
return checkdate($dateArr[1],$dateArr[2],$dateArr[0]);
}
return false;
}
function check_time($time) { //检查时间是否合法时间
$timeArr = explode(":", $time);
if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) {
if (($timeArr[0] >= 0 && $timeArr[0] = 0 && $timeArr[1] = 0 && $timeArr[2] return true;
else
return false;
}
return false;
}
function DateDiff($date1, $date2, $unit = "") { //时间比较函数,返回两个日期相差几秒、几分钟、几小时或几天
switch ($unit) {
case 's':
$dividend = 1;
break;
case 'i':
$dividend = 60;
break;
case 'h':
$dividend = 3600;
break;
case 'd':
$dividend = 86400;
break;
default:
$dividend = 86400;
}
$time1 = strtotime($date1);
$time2 = strtotime($date2);
if ($time1 && $time2)
return (float)($time1 - $time2) / $dividend;
return false;
}
?>

PHP重定向
复制代码 代码如下:

方法一:header("Location: index.php");
方法二:echo "window.location ="$PHP_SELF";īpt>";
方法三:echo "";
?>

获取访问者浏览器
复制代码 代码如下:

function browse_infor()
{
$browser="";$browserver="";
$Browsers =array("Lynx","MOSAIC","AOL","Opera","JAVA","MacWeb","WebExplorer","OmniWeb");
$Agent = $GLOBALS["HTTP_USER_AGENT"];
for ($i=0; $i{
if (strpos($Agent,$Browsers[$i]))
{
$browser = $Browsers[$i];
$browserver ="";
}
}
if (ereg("Mozilla",$Agent) && !ereg("MSIE",$Agent))
{
$temp =explode("(", $Agent); $Part=$temp[0];
$temp =explode("/", $Part); $browserver=$temp[1];
$temp =explode(" ",$browserver); $browserver=$temp[0];
$browserver =preg_replace("/([d.]+)/","1",$browserver);
$browserver = " $browserver";
$browser = "Netscape Navigator";
}
if (ereg("Mozilla",$Agent) && ereg("Opera",$Agent))
{
$temp =explode("(", $Agent); $Part=$temp[1];
$temp =explode(")", $Part); $browserver=$temp[1];
$temp =explode(" ",$browserver);$browserver=$temp[2];
$browserver =preg_replace("/([d.]+)/","1",$browserver);
$browserver = " $browserver";
$browser = "Opera";
}
if (ereg("Mozilla",$Agent) && ereg("MSIE",$Agent))
{
$temp = explode("(", $Agent); $Part=$temp[1];
$temp = explode(";",$Part); $Part=$temp[1];
$temp = explode(" ",$Part);$browserver=$temp[2];
$browserver =preg_replace("/([d.]+)/","1",$browserver);
$browserver = " $browserver";
$browser = "Internet Explorer";
}
if ($browser!="")
{
$browseinfo = "$browser$browserver";
}
else
{
$browseinfo = "Unknown";
}
return $browseinfo;
}
//调用方法$browser=browseinfo() ;直接返回结果
?>

获取访问者操作系统
复制代码 代码如下:

function osinfo() {
$os="";
$Agent = $GLOBALS["HTTP_USER_AGENT"];
if (eregi('win',$Agent) && strpos($Agent, '95')) {
$os="Windows 95";
}
elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {
$os="Windows ME";
}
elseif (eregi('win',$Agent) && ereg('98',$Agent)) {
$os="Windows 98";
}
elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {
$os="Windows 2000";
}
elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {
$os="Windows NT";
}
elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {
$os="Windows XP";
}
elseif (eregi('win',$Agent) && ereg('32',$Agent)) {
$os="Windows 32";
}
elseif (eregi('linux',$Agent)) {
$os="Linux";
}
elseif (eregi('unix',$Agent)) {
$os="Unix";
}
elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {
$os="SunOS";
}
elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {
$os="IBM OS/2";
}
elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {
$os="Macintosh";
}
elseif (eregi('PowerPC',$Agent)) {
$os="PowerPC";
}
elseif (eregi('AIX',$Agent)) {
$os="AIX";
}
elseif (eregi('HPUX',$Agent)) {
$os="HPUX";
}
elseif (eregi('NetBSD',$Agent)) {
$os="NetBSD";
}
elseif (eregi('BSD',$Agent)) {
$os="BSD";
}
elseif (ereg('OSF1',$Agent)) {
$os="OSF1";
}
elseif (ereg('IRIX',$Agent)) {
$os="IRIX";
}
elseif (eregi('FreeBSD',$Agent)) {
$os="FreeBSD";
}
if ($os=='') $os = "Unknown";
return $os;
}
//调用方法$os=os_infor() ;
?>

文件格式类
复制代码 代码如下:

$mime_types = array(
'gif' => 'image/gif',
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpe' => 'image/jpeg',
'bmp' => 'image/bmp',
'png' => 'image/png',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'pict' => 'image/x-pict',
'pic' => 'image/x-pict',
'pct' => 'image/x-pict',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'psd' => 'image/x-photoshop',
'swf' => 'application/x-shockwave-flash',
'js' => 'application/x-javascrīpt',
'pdf' => 'application/pdf',
'ps' => 'application/postscrīpt',
'eps' => 'application/postscrīpt',
'ai' => 'application/postscrīpt',
'wmf' => 'application/x-msmetafile',
'css' => 'text/css',
'htm' => 'text/html',
'html' => 'text/html',
'txt' => 'text/plain',
'xml' => 'text/xml',
'wml' => 'text/wml',
'wbmp' => 'image/vnd.wap.wbmp',
'mid' => 'audio/midi',
'wav' => 'audio/wav',
'mp3' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'avi' => 'video/x-msvideo',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'lha' => 'application/x-lha',
'lzh' => 'application/x-lha',
'z' => 'application/x-compress',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'gzip' => 'application/x-gzip',
'tgz' => 'application/x-gzip',
'tar' => 'application/x-tar',
'bz2' => 'application/bzip2',
'zip' => 'application/zip',
'arj' => 'application/x-arj',
'rar' => 'application/x-rar-compressed',
'hqx' => 'application/mac-binhex40',
'sit' => 'application/x-stuffit',
'bin' => 'application/x-macbinary',
'uu' => 'text/x-uuencode',
'uue' => 'text/x-uuencode',
'latex'=> 'application/x-latex',
'ltx' => 'application/x-latex',
'tcl' => 'application/x-tcl',
'pgp' => 'application/pgp',
'asc' => 'application/pgp',
'exe' => 'application/x-msdownload',
'doc' => 'application/msword',
'rtf' => 'application/rtf',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
'mdb' => 'application/x-msaccess',
'wri' => 'application/x-mswrite',
);
?>

php生成excel文档
复制代码 代码如下:

header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=test.xls");
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
//改动相应文件头就可以输出.doc .xls等文件格式了
?>

时间比较问题
举一个简单例子说明:比如一个论坛对当天发表的贴子用new图片标记一下。
方法一:
复制代码 代码如下:

//$db->rows[$i][date]中为数据库中datetime字段值.
$today=time();
$theDay=date("Y-m-d H:i:s",$today-24*3600);
$newTag=$db->rows[$i][date]>=$theDay?"继续收藏一些PHP常用函数_PHP":"";
//方法二:
$newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"继续收藏一些PHP常用函数_PHP":"";
?>

复制代码 代码如下:
//提取页面和浏览器提交的变量,作用相当于使PHP.INI开了全局变量

@extract($_SERVER, EXTR_SKIP);
@extract($_SESSION, EXTR_SKIP);
@extract($_POST, EXTR_SKIP);
@extract($_FILES, EXTR_SKIP);
@extract($_GET, EXTR_SKIP);
@extract($_ENV, EXTR_SKIP);
?>

//读取文件函数
复制代码 代码如下:

function readfromfile($file_name) {
if (file_exists($file_name)) {
$filenum=fopen($file_name,"r");
flock($filenum,LOCK_EX);
$file_data=fread($filenum, filesize($file_name));
rewind($filenum);
fclose($filenum);
return $file_data;
}
}
?>

//写入文件函数
复制代码 代码如下:

function writetofile($file_name,$data,$method="w") {
$filenum=fopen($file_name,$method);
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
?>

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
快速入門pandas庫常用函數指南 快速入門pandas庫常用函數指南 Jan 24, 2024 am 08:05 AM

pandas函式庫是Python中常用的資料處理和分析工具,它提供了豐富的函數和方法,能夠輕鬆地完成資料導入、清洗、處理、分析和視覺化等工作。本文將介紹pandas函式庫常用函數的快速入門指南,並附帶具體的程式碼範例。資料導入pandas函式庫透過read_csv、read_excel等函數可以方便地匯入各種格式的資料檔。以下是一個範例程式碼:importpandas

Numpy函式庫常用函數大全:快速上手與實作指南 Numpy函式庫常用函數大全:快速上手與實作指南 Jan 19, 2024 am 08:57 AM

Numpy庫是Python中最常用的資料處理庫之一,它以其高效、便捷的操作方式廣受資料分析人員的喜愛。在Numpy函式庫中,有許多常用的函數可以幫助我們快速、有效率地完成資料處理任務。本篇文章將介紹一些常用的Numpy函數,並提供程式碼範例和實際應用場景,讓讀者能夠更快地上手Numpy函式庫。一、建立數組numpy.array函數原型:numpy.array(obj

深入剖析Go語言標準函式庫:常用函數與資料結構揭秘 深入剖析Go語言標準函式庫:常用函數與資料結構揭秘 Jan 30, 2024 am 09:46 AM

探索Go語言標準庫:常用函數和資料結構詳解引言:Go語言自誕生以來就以其簡潔、高效、並發的特點吸引了許多開發者的注意。作為一門現代化的程式語言,Go語言在其標準庫中提供了豐富的函數和資料結構,幫助開發者快速建立高效能、可靠的應用程式。本文將詳細探索Go語言標準庫中一些常用的函數和資料結構,並透過具體的程式碼範例來加深理解。一、strings套件:字串處理函數G

Go語言支援的常用函數有哪些? Go語言支援的常用函數有哪些? Mar 22, 2024 am 11:00 AM

Go語言作為一種開源的靜態類型程式語言,擁有豐富的標準函式庫和強大的功能。在Go語言中,有許多常用的函數和方法可以幫助我們簡化程式碼,提高程式效率。以下將介紹幾個Go語言中常用的函數,並給出具體的程式碼範例。 1.fmt包中的Printf函數fmt包是Go語言中用於格式化輸入輸出的標準包,其中的Printf函數可以根據格式化字串將內容輸出到標準輸出流。下面是一個

PHP檔案操作的常用函數 PHP檔案操作的常用函數 Jun 16, 2023 pm 01:15 PM

PHP是一種廣泛使用的開源程式語言,被廣泛應用於Web開發領域。在Web開發中,文件操作是必不可少的一環,因此熟練PHP的文件操作函數非常重要。在本文中,我們將介紹一些PHP檔案操作中常用的函數。 fopen()fopen()函數用於開啟檔案或URL,並傳回檔案指標。它有兩個參數:檔案名稱和開啟方式。開啟方式可以是"r"(唯讀方式)、"w"(寫方式)、"a"

精通C語言函數:全面解析常用函數的用法與原理 精通C語言函數:全面解析常用函數的用法與原理 Feb 20, 2024 am 09:28 AM

精通C語言函數:全面解析常用函數的用法與原理摘要:C語言中的函數是實現程式碼重複使用與模組化的重要工具,也是程式設計中不可或缺的一部分。本文將全面解析常用函數的用法與原理,包括函數的定義、呼叫與傳回值,以及常見函數的使用範例,幫助讀者更好地理解和掌握C語言函數的使用。一、函數的定義與呼叫1.1函數的定義C語言中,函數的定義由傳回型別、函數名、參數清單和函數體組成

pandas庫有哪些常用函數 pandas庫有哪些常用函數 Nov 22, 2023 pm 01:36 PM

pandas函式庫常用函數有:1、read_csv()和read_excel()函數;2、head()和tail()函數;3、info()函數;4、describe()函數等。詳細介紹:1、read_csv()和read_excel()函數,這兩個函數用於從CSV和Excel文件中讀取數據,它們能將數據讀取為數據框對象,方便進一步的數據分析;2、head ()和tail()函數等等。

PHP常用函數庫的應用技巧 PHP常用函數庫的應用技巧 Jun 16, 2023 am 09:49 AM

PHP是一種功能強大的程式語言,常被用於Web應用程式的開發。在PHP中,有許多常用的函數庫,這些函數庫可以幫助開發者輕鬆完成各種操作。本文將介紹幾種常用函數庫及其應用技巧。 1.字串函數庫字串函數庫一般用於字串的操作,包括字串長度、字串連接、字串截取等。以下是幾個常用的字串函數:strlen()函數用於取得字串長度,例如:$str=&q

See all articles