PHP保留两位小数 四舍五入方法
方法一
sprintf()函数 ,sprintf() 函数把格式化的字符串写写入一个变量中
代码如下 | 复制代码 |
$num = 123213.666666; |
例2
代码如下 | 复制代码 |
<?php 输出: 123.000000 |
方法二 substr()函数
代码如下 | 复制代码 |
$num = 123213.666666; |
方法三 number_format()函数
代码如下 | 复制代码 |
|
方法四
round 函数,round() 函数对浮点数进行四舍五入。
例子
代码如下 | 复制代码 |
<?php 输出: 1 |
如果要保留小数,后来参数根保留小数位数即可。
代码如下 | 复制代码 |
$number = 1234.5678; |
ftp_connect() 函数建立一个新的 FTP 连接。
若成功,则返回一个连接标识,否则返回 false。
语法
host 必需。规定要连接的 FTP 服务器。可以是域名或 IP 地址。
后面不应以斜线结尾,前面也不需要用 ftp:// 开头。
port 可选。规定 FTP 服务器的端口。
timeout 可选。规定该 FTP 服务器的超时时间。默认是 90 秒。
然后在台式机本地做了个测试:
代码如下 | 复制代码 |
$ftp_server = "192.168.1.100"; $ftp_user_name = "laohu"; $ftp_user_pass = "123456"; $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); $file = 'test.txt'; $remote_file = '/test/a.txt'; |
// 注意:这里的"/test"指的是ftp根目录下的test文件夹,而非系统跟目录下的
test
代码如下 | 复制代码 |
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) { |
运行后:文件移动成功。
要的就是这个效果了,之后用台式机做程序服务器,上传附件时全用ftp方法上传至笔记本上,笔记本ip是105,相
应代码如下:
代码如下 | 复制代码 |
if (is_uploaded_file($_FILES['uploadfile']['tmp_name'])) { if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) { |
对应的前台页面代码:
代码如下 | 复制代码 |
<form action="uploadfile.php" method="post" enctype="multipart/form-data"> |
运行后确实成功。
下面看一个ftp文件上传类
代码如下 | 复制代码 |
<?php |
调用代码
代码如下 | 复制代码 |
<? |
需要注意,在用ftp_put方法时,第四个参数传送模式,需要用FTP_BINARY(二进制模式),用FTP_ASCII(文本模式)
时,图片能上传但无法显示,其他文件重命名、中文乱码解决、上传权限控制等,就不在此提及了。
我们知道在php中要判断字符串长度我们只要使用strlen()与mb_strlen()函数既可以了,但是并不是我们想得这么简单,特别是在对中英文混合时上面函数有点力不从心哦,下面我来给各位朋友介绍。strlen()
PHP strlen() 函数
定义和用法
strlen() 函数返回字符串的长度。
语法
strlen(string)
参数:string
描述:必需。规定要检查的字符串。
代码如下 | 复制代码 |
|
结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14
在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6
mb_strlen()函数
需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保
“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。
代码如下 | 复制代码 |
<?php |
“中文a字1符” 的strlen($str)值是14,mb_strlen($str)值是6,则可以计算出“中文a字1符”的占位是10.
讲解这两者之间的区别
代码如下 | 复制代码 |
//测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo strlen($str).'<br>';//14 echo mb_strlen($str,'utf8').'<br>';//6 echo mb_strlen($str,'gbk').'<br>';//8 echo mb_strlen($str,'gb2312').'<br>';//10 ?> |
结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14,在mb_strlen
计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 .
虽然上面函数可以简单解决一些中英文混合问题,但是不能用于实实际中,下面我来给各位朋友介绍其它比较好的办
法。
PHP获取中英文混合字符串长度的实现代码如下,1中文=1位,2英文=1位,可自行修改
代码如下 | 复制代码 |
/** //测试输出长度都为15 |
截取字符串函数
UTF8编码,在UTF8中,一个中文字符占3个字节
代码如下 | 复制代码 |
function msubstr($str, $start, $len) { |
GB2312编码,在gb2312中,一个中文字符占2个字节
代码如下 | 复制代码 |
<?php |
编码兼容性良好的函数
代码如下 | 复制代码 |
function cc_msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) [/x80-/xbf]{3}/"; |
常用的字符处理函数
代码如下 | 复制代码 |
strstr(string,string) = strchr(,) //从前面第一次出现某个字符串的地方截取到最后 |
假设
$str="这是1个字符串";
这个串中包含了一个半角字符,同样执行:
代码如下 | 复制代码 |
if(strlen($str)>10) $str=substr($str,10); |
由于原字符串$str的第10、11个字符构成了汉字“符”;
执行串分割后会将该汉字一分为二,这样被截取的串就会发现乱码现象
那我们可以先来计算字符串长度
代码如下 | 复制代码 |
<?PHP $pa = '/[x{4e00}-x{9fa5}]/siu'; ?> |
补充
PHP计算字符串长度,包括计算英文、GBK、UTF-8多种字符集下PHP如何计算字符串长度。英文字符串长度
strlen()是PHP自带的计算英文字符串的函数。
GBK字符串长度
中文字符计算为2个字符,英文字符计算为1个,可以统计中文字符串长度的函数。 function abslength($str){
代码如下 | 复制代码 |
$len=strlen($str); $i=0; while($i<$len) { if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str[$i])) { $i+=2; } else { $i+=1; } } return $i; } |
UTF8字符串长度
下面定义的strlen_utf8函数可以统计UTF-8字符串的长度,但不同的是,该函数并不考虑字节,这有些类似
Javascript 中字符串的length方法,一个字符全部按 1 个长度计算。 <?php // 说明:计算 UTF-8 字符串长度(忽
略字节的方案)
代码如下 | 复制代码 |
function strlen_utf8($str) { $i = 0; $count = 0; $len = strlen ($str); while ($i < $len) { $chr = ord ($str[$i]); $count++; $i++; if($i >= $len) break; if($chr & 0x80) { $chr <<= 1; while ($chr & 0x80) { $i++; $chr <<= 1; } } } return $count; } $str = "www.111cn.net-PHP资讯"; echo strlen_utf8($str); ?> |
这样就可以很准确的对你的中英文混合字体进行截取计算了,如例子
代码如下 | 复制代码 |
支持gb2312,gbk,utf-8,big5 中文截取方法 /* [x80-xbf]{3}/"; |
1. 准备工作
下载PHPExcel:http://phpexcel.codeplex.com
这是个强大的Excel库,这里只演示导出Excel文件的功能,其中的大部分功能可能都用不着。
2. 安装PHPExcel到Codeigniter
1) 解压压缩包里的Classes文件夹中的内容到applicationlibraries目录下,目录结构如下:
-- applicationlibrariesPHPExcel.php
-- applicationlibrariesPHPExcel (文件夹)
2)修改applicationlibrariesPHPExcelIOFactory.php 文件
-- 将其类名从PHPExcel_IOFactory改为IOFactory,遵从CI类命名规则。
-- 将其构造函数改为public
3. 安装完毕,写一个导出excel的控制器(Controller)
代码如下 | 复制代码 |
<?php |
方法二
代码如下 | 复制代码 |
$this->load->plugin('to_excel'); So you could run: to_excel($query, 'myfile'); // outputs myfile.xls /system/plugins/to_excel_pi.php <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); /* function to_excel($query, $filename='exceloutput') |
相关文章
php 中file_get_contents超时问题的解决方法
file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25- 相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
- php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
- ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
- PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
intellij idea快速查看当前类中的所有方法(推荐)
这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02- 1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
js导出table数据到excel即导出为EXCEL文档的方法
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13- 批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
- 本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
- ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果̳...2017-07-06
- 最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
- 单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法
手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21- javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13
连接MySql速度慢的解决方法(skip-name-resolve)
最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21- 本篇文章是对C#方法进行了详细的总结与介绍,需要的朋友参考下...2020-06-25
- 步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04