很多站长朋友们都不太清楚php命令执行读取文件,今天小编就来给大家整理php命令执行读取文件,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 如何读取一个文件后作为php执行 2、 使用php命令行无法运行php文件 3、 php如何实现随意执行linux命令(任意读写,删除等) 4、 怎么用php命令执行php代码 5、 怎么用php代码来修改php的文件? 如何读取一个文件后作为php执行<?
$a="echo md5('123456');";//你用file_get_contents读过来的文本
echo $a;//只是一个字符串
echo "<br>";
eval($a);//把字符串解析成php
?>
使用php命令行无法运行php文件要么是你PHP没有安装到系统里;要么你的PHP文件有语法错误.
你先用:php -v 命令看下会不会显示PHP的版本信息,如果不会就是PHP安装出了错;
如果没出错,你写个xx.php 文件,里面的内容为:<?php echo "Hello, world!\n";?> 然后保存,执行php -f xx.php命令,看看是不是正确运行了。
php如何实现随意执行linux命令(任意读写,删除等)显然,你要靠php操作其范围外的文件或目录是不可能的,这是因为php的运行身份是apache,因此没办法操作root权限的文件或目录。
我们采取的办法是,用VC写个服务,该服务的运行身份是root,也就是给其最大权限,php调用该服务做操作。
当然还有另外的办法,这是我的猜测,你不妨试看看,
1、把php的运行用户改为root,这样可能会存在一定的风险。
2、在apache里面指定可以对某个root权限的文件或目录做操作,该办法没试验过。如果你能试验成功的话,希望反馈一下哦。
怎么用php命令执行php代码PHP执行命令的四种方法
方法一:使用exec函数执行系统外部命令
原型:function exec(string $command,array[optional] $output,int[optional]
$return_value)
<?
exec("dir",$outPut);
print_r($outPut);
?>
说明:列出和PHP执行文件同级目录下的所有目录及文件信息。
知识点:exec执行系统外部命令时不会输出结果,而是返回结果的最后一行,如果你想得到结果你可以使用第二个参数,让其输出到指定的数组,此数组一个记录代表输出的一行,即如果输出结果有20行,则这个数组就有20条记录,所以如果你需要反复输出调用不同系统外部命令的结果,你最好在输出每一条系统外部命令结果时清空这个数组,以防混乱。第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。
方法二:使用system函数执行系统外部命令
原型:function system(string $command,int[optional] $return_value)
1
2
3
<?
system("dir");
?>
知识点:system和exec的区别在于system在执行系统外部命令时,直接将结果输出到游览器,如果执行命令成功则返回true,否则返回false。第二个参数与exec第三个参数含义一样。
方法三:使用函数passthru执行系统外部命令
原型:function passthru(string $command,int[optional] $return_value)
知识点:passthru与system的区别,passthru直接将结果输出到游览器,不返回任何值,且其可以输出二进制,比如图像数据。
方法四:反撇号`(和~在同一个键)执行系统外部命令
1
2
3
<?
echo `dir`;
?>
知识点:在使用这种方法执行系统外部命令时,你要确保shell_exec函数可用,否则是无法使用这种反撇号执行系统外部命令的。
怎么用php代码来修改php的文件?PHP 中的 file_get_contents() 与 file_put_contents() 函数可以实现
file_get_contents() 函数把整个文件读入一个字符串中。
file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。
file_get_contents(path,include_path,context,start,max_length)
参数说明
path 必需。规定要读取的文件。
include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context 可选。规定文件句柄的环境。
context 是一套可以修改流的行为的选项。若使用 null,则忽略。
start 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。
max_length 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。
对 context 参数的支持是 PHP 5.0.0 添加的。
注释:本函数可安全用于二进制对象。
file_put_contents() 函数把一个字符串写入文件中。
file_put_contents(file,data,mode,context)
参数说明
file 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
data 可选。规定要写入文件的数据。可以是字符串、数组或数据流。
注释:本函数可安全用于二进制对象。
例如:
需要修改的php文件 index.php (前提条件此文件需要有写入的权限)
<?php
$str = 'abc123';
?>
处理的文件 update.php
<?php
$conents = file_get_contents("index.php");
$conents = str_replace('abc','efg',$conents);
file_put_contents("index.php",$conents);
?>
修改后的index.php 文件
<?php
$str = 'efg123';
?>
关于php命令执行读取文件的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php命令执行读取文件 php读取php文件内容的详细内容...