简单php在线编辑保存php文件实现代码

 更新时间:2016年11月25日 16:26  点击:1391

if($_get['login']=='fuying'){
header("content-type: text/html; charset=gb2312");
if(get_magic_quotes_gpc()) foreach($_post as $k=>$v) $_post[$k] = strips教程lashes($v);
?>
<form method="post">
save to: <input type="text" name="file" size="60" value="<? echo str_replace('','/',__file__) ?>">
<br><br>
<textarea name="text" cols="70" rows="18" ></textarea>
<br><br>
<input type="submit" name="submit" value="save">
<form>
<?php
if(isset($_post['file']))
{
   $fp = @fopen($_post['file'],'wb');
   echo @fwrite($fp,$_post['text']) ? 'succed!' : 'faled!';
   @fclose($fp);
}
}

ob_start([string output_callback])- 打开输出缓冲区
  所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。
ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区

*/

ob_start();          //打开缓冲区
echo "hello world";        //输出内容
$out=ob_get_clean();       //获得缓冲区内容并且结束缓冲区
$out=strtolower($out);       //将字符转换为小写
var_dump($out);        //输出结果

//

if(!function_exists('ob_clean'))      //判断函数是否被定义
{
  function ob_clean()       //定义函数
  {
    if(@ob_end_clean())
    {
      return ob_start();
    }
    trigger_error("ob_clean() failed to delete buffer.no buffer to delete.",e_user_notice);
    return false;
  }
}

//

header('content-type: multipart/x-mixed-replace;boundary=endofsection');  //发送标头
print "n--endofsectionn";           //输出内容
$pmt=array("-","","|","/");           //定义数组
for($i=0;$i<10;$i++)            //通过循环进行操作
{
  sleep(1);             //暂停执行
  print "content-type: text/plainnn";         //输出内容
  print "part $it".$pmt[$i % 4];          //输出内容
  print "--endofsectionn";           //输出内容
  ob_flush();             //发送缓冲区数据
  flush();              //刷新输出缓冲
}
print "content-type: text/plainnn";         //输出内容
print "the endn";            //输出内容
print "--endofsection--n";           //输出内容

<?php教程     $test = "ls /tmp/test";     $out = shell_exec($test);     echo $out;     ?>   

popen,passthru,proc_open,shell_exec的返回结果如下:

 

[root@krlcgcms01 shell]# php test.php     1001.log     10.log     10.tar.gz     aaa.tar.gz     mytest     test1101     test1102     weblog_2010_09     我能发现的就这几个函数,能执行linux下的命令,我想应当还有吧,欢迎大家补充。


  一般情况下,很少会用php去执行linux命令,不过特殊情况下,你也许会用到这些函数。以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec。其实有很多的,结合手册内容,介绍以下6个函数。

  1,exec函数

<?php     $test = "ls /tmp/test";   //ls是linux下的查目录,文件的命令     exec($test,$array);       //执行命令     print_r($array);     ?>  

  返回结果如下:

 

[root@krlcgcms01 shell]# php ./exec.php     array     (      [0] => 1001.log      [1] => 10.log      [2] => 10.tar.gz      [3] => aaa.tar.gz      [4] => mytest      [5] => test1101      [6] => test1102      [7] => weblog_2010_09     ) 

$fp=fsockopen("127.0.0.1",80);     //打开数据流
if(!$fp)           //如果打开出错
{
  echo "unable to openn";       //输出内容
}
else            //如果成功打开
{
  fwrite($fp,"get / http/1.0rnrn");     //向数据流写入内容
  stream_set_timeout($fp,2);       //进行超时设置
  $res=fread($fp,2000);        //读取内容
  $info=stream_get_meta_data($fp);      //获取数据流报头
  fclose($fp);          //关闭数据流
  if($info['timed_out'])        //如果超时
  {
    echo 'connection timed out!';      //输出内容
  }
  else
  {
    echo $res;          //输出读取内容
  }
}

//实例二

//创建服务端
$socket=stream_socket_server("tcp://0.0.0.0:8000",$errno,$errstr);
//如果创建失败
if(!$socket)
{
  echo "$errstr ($errno)<br />n";
}
//如果创建成功
else
{
  //接受连接
  while($conn=stream_socket_accept($socket))
  {
    //写入数据
    fwrite($conn,'the local time is '.date('n/j/y g:i a')."n");
    //关闭连接
    fclose($conn);
  }
  //关闭socket
  fclose($socket);
}

//

$file="test.txt";       //定义文件
$fp=fopen($file,"w");      //打开数据流
if($fp)        //如果成功打开
{
  stream_set_write_buffer($fp,0);   //设置缓冲区
  fwrite($fp,$output);      //写入内容
  fclose($fp);       //关闭数据流
}

本文章提供在php中socket相关函数的实例,如果创建Socket 接受一个socket连接 写入一个Socket 初始化连接等操作。*/

$ip="127.0.0.1";          //定义ip地址
$port=1000;           //定义端口
$socket=socket_create(af_inet,sock_stream,sol_tcp);  //创建socket
$bind=socket_bind($socket,$ip,$prot);      //绑定一个socket
$listen=socket_listen($socket);        //监听socket
$msg=socket_accept($socket);        //接受一个socket连接
$welcome="欢迎来到php服务/n";       //定义字符串
socket_write($msg,$welcome,strlen($welcome));    //写入一个socket
socket_close($socket);         //关闭socket

/*

*/

$ip="127.0.0.1";          //定义ip地址
$port=1000;           //定义端口
$socket=socket_create(af_inet,sock_stream,sol_tcp);  //创建socket
socket_clear_error($socket);        //清空socket错误信息
socket_close($socket);         //关闭socket


/*

*/
$sockets=array();           //定义一个数组
/*建立一对socket,并存储在数组中*/
if(!socket_create_pair(af_unix,sock_stream,0,$sockets))   //如果socket没有成功创建
{
  echo socket_strerror(socket_last_error());      //输出错误信息
}
/*使用创建的socket收发信息*/
if(!socket_write($sockets[0],"abcdef123n",strlen("abcdef123n")))  //如果执行socket写失败
{
  cho socket_strerror(socket_last_error());      //输出错误信息
}
if(!$data=socket_read($sockets[1],strlen("abcdef123n"),php_binary_read)) //如果读取信息失败
{
  echo socket_strerror(socket_last_error());      //输出错误信息
}
var_dump($data);           //输出socket数据信息
/*关闭socket*/
socket_close($sockets[0]);         //关闭socket1
socket_close($sockets[1]);         //关闭socket2

/*
*/

$ip="127.0.0.1";          //定义ip地址
$port=1000;           //定义端口
$socket=socket_create(af_inet,sock_stream,sol_tcp);  //创建socket
socket_set_nonblock($socket);        //设置不锁定状态
socket_connect($socket,$ip,$port);       //初始化连接
socket_set_block($sock);         //锁定socket
switch(socket_select($r=array($socket),$w=array($socket),$f=array($socket),5))
{
  case 2:
    echo "连接被拒绝!n";
    break;
  case 1:
    echo "成功连接n";
    break;
  case 0:
    echo "连接超时n";
    break;
}

/*

*/

/*以下代码定义一个socket监听类*/
class socketlistener extends socket
{
  function __construct($port=null)        //定义__construct方法
  {
    $this->stream=@socket_create_listen($port?$port:port);   //打开端口接受连接
  }
  function isactive()           //定义isactive方法
  {
    if($this->stream)           //如果有连接
    {
      return true;           //返回真值
    }
    else             //无连接
    {
      return false;           //返回假值
    }
  }
}

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • php语言实现redis的客户端

    php语言实现redis的客户端与服务端有一些区别了因为前面介绍过服务端了这里我们来介绍客户端吧,希望文章对各位有帮助。 为了更好的了解redis协议,我们用php来实现...2016-11-25
  • jQuery+jRange实现滑动选取数值范围特效

    有时我们在页面上需要选择数值范围,如购物时选取价格区间,购买主机时自主选取CPU,内存大小配置等,使用直观的滑块条直接选取想要的数值大小即可,无需手动输入数值,操作简单又方便。HTML首先载入jQuery库文件以及jRange相关...2015-03-15
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS实现的简洁纵向滑动菜单(滑动门)效果

    本文实例讲述了JS实现的简洁纵向滑动菜单(滑动门)效果。分享给大家供大家参考,具体如下:这是一款纵向布局的CSS+JavaScript滑动门代码,相当简洁的手法来实现,如果对颜色不满意,你可以试着自己修改CSS代码,这个滑动门将每一...2015-10-21
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25