2024-10-04 11:53:16 | 我爱编程网
PHP是一种广泛使用的脚本语言,它在数学计算方面提供了丰富的内置函数。自PHP早期版本开始支持这些数学函数,它们在处理数值操作时非常实用。下面是一些主要的PHP数学函数及其描述:
abs(): 返回数值的绝对值,确保结果是非负。
acos(): 计算给定角度的反余弦值,返回范围在0到π(180度)之间。
acosh(): 计算给定数值的反双曲余弦,适用于大于1的数值。
asin(): 计算给定角度的反正弦,返回范围在-π/2到π/2(-90度到90度)之间。
asinh(): 计算给定数值的反双曲正弦,适用于实数。
atan(): 计算给定角度的反正切,返回范围在-π/2到π/2(-180度到180度)。
atan2(): 接受两个参数,计算与x轴的夹角,更精确地处理坐标轴方向。
atanh(): 计算给定数值的反双曲正切,适用于-1到1的数值。
base_convert(): 在任意进制之间转换数字,如十进制转二进制、八进制或十六进制。
bindec(): 将二进制字符串转换为十进制整数。
ceil(): 向上舍入到最接近的整数,不考虑小数部分。
cos(): 计算给定角度的余弦值。
cosh(): 计算给定数值的双曲余弦。
decbin(), decoct(), dechex(): 分别将十进制转换为二进制、八进制和十六进制。
deg2rad(): 将角度从度数转换为弧度。
exp(): 返回自然对数 e 的值。
expm1(): 计算 e - 1 的值,用于避免浮点数精度问题。
floor(): 向下舍入到最接近的整数,舍弃小数部分。
fmod(): 返回除法的浮点数余数。
getrandmax(): 获取随机数生成的最大可能值。
hexdec(): 将十六进制转换为十进制。
hypot(): 计算直角三角形斜边的长度,根据两直角边的长度。
is_finite(), is_infinite(), is_nan(): 分别判断数值是否为有限、无限或非数字。
lcg_value(): 返回范围在(0, 1)之间的伪随机数,用于线性同余生成器。
log(), log10(), log1p(): 分别计算自然对数、以10为底的对数和log(1 + number)。
max(), min(): 分别返回数组或数值的最大值和最小值。
mt_getrandmax(), mt_rand(), mt_srand(): Mersenne Twister 随机数生成相关的函数,用于生成随机整数和初始化随机数发生器。
octdec(): 将八进制转换为十进制。
pi(): 返回圆周率 π 的值。
pow(): 计算 x 的 y 次方。
rad2deg(): 将弧度转换为度数。
rand(): 返回随机整数。
round(): 对浮点数进行四舍五入。
sin(), sinh(): 分别计算正弦和双曲正弦。
sqrt(): 计算平方根。
srand(): 初始化随机数发生器。
tan(), tanh(): 分别计算正切和双曲正切。
我爱编程网(https://www.52biancheng.com)小编还为大家带来php的文件操作(php操作文件的函数)的相关内容。
php文件操作之小型留言本实例本文实例讲述了php文件操作之小型留言本。分享给大家供大家参考。具体如下:
Index.php文件如下:
?php
$path
=
"DB/";
//定义路径
$dr
=
opendir($path);
//打开目录
while($filen
=
readdir($dr))
//循环读取目录中的文件
{
if($filen
!=
"."
and
$filen
!=
"..")
{
$fs
=
fopen($path.$filen,
"r");
echo
"B标题:/B".fgets($fs)."BR";
echo
"B作者:/B".fgets($fs)."BR";
echo
"B内容:/BPRE".fread($fs,
filesize($path.$filen))."/PRE";
echo
"HR";
fclose($fs);
}
}
closedir($dr)
//关闭目录
?
Post.php文件如下:
?php
$path
=
"DB/";
$filename
=
"S".date("YmdHis").".dat";
$fp
=
fopen($path.$filename,
"w");
fwrite($fp,
$_POST["title"]."/n");
fwrite($fp,
$_POST["author"]."/n");
fwrite($fp,
$_POST["content"]."/n");
fclose($fp);
echo
"留言发表成功!";
echo
"a
href="Index.php"
mce_href="Index.php"返回首页/a";
?
!DOCTYPE
HTML
PUBLIC
"-//W3C//DTD
HTML
4.01 我爱编程网
Transitional//EN"
""
html
head
title发表新的留言/title
meta
http-equiv="Content-Type"
content="text/html;
charset=gb2312"
/head
body
H1p
align="center"发表新的留言/p/H1
form
name="form1"
method="post"
action="Post.php"
table
width="500"
border="0"
align="center"
cellpadding="0"
cellspacing="0"
tr
td标题/td
tdinput
name="title"
type="text"
id="title"
size="50"/td
/tr
tr
td作者/td
tdinput
name="author"
type="text"
id="author"
size="20"/td
/tr
tr
td内容/td
tdtextarea
name="content"
cols="50"
rows="10"
id="content"/textarea/td
/tr
/table
p
align="center"
input
type="submit"
value="Submit"
input
type="reset"
value="Reset"
/p
/form
/body
/html
希望本文所述对大家的php程序设计有所帮助。
php是什么格式的文件,怎么播放(打开)?
1、PHP,是超级文本预处理语言(HypertextPreprocessor)的缩写。
PHP它是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言。
2、首先找到一个php文件,如下图所示。
3、鼠标右击php文件,在弹出来的列表中选择“打开方式(H)”,如下图所示。
4、在打开的方式的选项中选择“记事本”,如下图所示。
5、然后就可以在记事本中看到php的代码了,如下图所示。
6、鼠标php文件,在出现的列表中选择“Notepad++”,如下图所示。
7、然后可以看到在Notepad++中打开的php代码如下图所示,可以看到此时php代码显示不同颜色,这是Notepad++自带的高显亮。
PHP绕过open_basedir限制操作文件的三种方法由于open_basedir的设置对system等命令执行函数是无效的,所以我们可以使用命令执行函数来访问限制目录。
我们首先创建一个目录
且在该目录下新建一个1.txt内容为abc
再在该目录下创建一个目录命名为b
并且在该目录下创建一个1.php文件内容为
且在php.ini中设置好我们的open_basedir
我们尝试执行1.php看看open_basedir是否会限制我们的访问
执行效果如图
很明显我们无法直接读取open_basedir所规定以外的目录文件。
接下来我们用system函数尝试绕open_basedir的限制来删除1.txt
编辑1.php为
先来看看执行1.php之前的文件情况
执行1.php之后
我们先来了解一下symlink函数
symlink函数将建立一个指向target的名为link的符号链接,当然一般情况下这个target是受限于open_basedir的。
由于早期的symlink不支持windows,我的测试环境就放在Linux下了。
测试的PHP版本是5.3.0,其他的版本大家自测吧。
在Linux环境下我们可以通过symlink完成一些逻辑上的绕过导致可以跨目录操作文件。
我们首先在/var/www/html/1.php中编辑1.php的内容为
接着在/var/www/中新建一个1.txt文件内容为
再来设置一下我们的open_basedir
在html目录下编辑一个php脚本检验一下open_basedir
执行看下。
意料之中,文件无法访问。
我们执行刚才写好的脚本,1.php
此时tmplink还是一个符号链接文件,它指向的路径是c/d,因此exploit指向的路径就变成了
由于这个路径在open_basedir的范围之内所以exploit成功建立了。
之后我们删除tmplink符号链接文件再新建一个同名为tmplink的文件夹,这时exploit所指向的路径为
由于这时候tmplink变成了一个真实存在的文件夹所以tmplink/../../变成了1.txt所在的目录即/var/www/
然后再通过访问符号链接文件exploit即可直接读取到1.txt的文件内容
当然,针对symlink()只需要将它放入disable_function即可解决问题,所以我们需要寻求更多的方法。
glob是php自5.3.0版本起开始生效的一个用来筛选目录的伪协议,由于它在筛选目录时是不受open_basedir的制约的,所以我们可以利用它来绕过限制,我们新建一个目录在/var/www/下命名为test
并且在/var/www/html/下新建t.php内容为
执行结果如图:
成功躲过open_basedir的限制读取到了文件。
php实现编辑和保存文件的方法文章主要介绍了php实现编辑和保存文件的方法,涉及php针对文件的读取、编辑和保存操作的'相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下。
本文实例讲述了php实现编辑和保存文件的方法。分享给大家供大家参考。具体如下:
save_file.php:
?php
session_start();
$handle=fopen($_POST['original_file_name'],"w");
$text=$_POST['file_contents'];
if(fwrite($handle,$text)==FALSE){
$_SESSION['error']='spanclass="redtxt"Therewasanerror/span';
}else{
$_SESSION['error']='spanclass="redtxt"Fileeditedsuccessfully/span';
}
fclose($handle);
header("Location:".$_POST['page']);
?
read_file.php:
!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
""
htmlxmlns=""
head
metahttp-equiv="Content-Type"content="text/html;charset=iso-8859-1"/
titleUntitledDocument/title
/head
formaction="savecontents.php"method="post"
textareaname="file_contents"
?php
$fileName="location/of/orignal/file/my_file.php";
$handle=fopen($fileName,"r");
while(!feof($handle)){
$text=fgets($handle);
echo$text;
}
?
/textarea
inputtype="hidden"value="?echo$fileName;?"name="original_file_name"/
/form
body
/body
/html
希望本文所述对大家的php程序设计有所帮助。
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00