想实现这样的功能,访问  http://127.0.0.1/test.php?cid=1&body=hi
就能在wwwroot/data目录下生成bk1.php文件,并且能写入我的内容hi以下是我写的,还不能实现我要的效果,不知道哪里出错啦??请完善一下
test.php
<?
function wirte($cid,$body)
{
   $ipatn="/data/";
   $tpath=ceil($cid/5000);
  $bookfile=$ipath."/bk{$cid}.php";
  $body="<"."?php\r\n".$body."\r\n?".">";
$fp=fopen($bookfile,'w');
$flock($fp);
fwrite($fp,$body);
Fclose($fp);}
wirte($_GET['cid'],$_GET['body']);
?>

解决方案 »

  1.   

    function wirte($cid,$body)
    {
      $ipath="/data/";
      //$tpath=ceil($cid/5000);
      $bookfile=$ipath."/bk".$cid.".php";
      $body="<"."?php\r\n".$body."\r\n?".">";file_put_contents($bookfile, $body);
    }
    wirte($_GET['cid'],$_GET['body']);
    ?>
      

  2.   

    你有
    $ipatn="/data/";
    $bookfile=$ipath."/bk{$cid}.php";
    设$cid='XXXX'
    所以 $bookfile 最终为: /data//bkXXXX.php
    显然这个文件名是有问题的,因为网站不可能构建于文件系统的根上
      

  3.   

    楼上说的有道理,改 $ipatn="/data/"; 为绝对路径,例如
    $ipatn="f:/web/wwwroot/data/";
    试试
      

  4.   

    我帮楼主试了一下,
    应该是这样,其中楼主第6行一个字母写错,第9行多余<?
    function wirte($cid,$body)
    {
      $ipatn="g:/web/shop2/web/data/";
      $tpath=ceil($cid/5000);
      $bookfile=$ipatn."/bk{$cid}.php";
      $body="<"."?php\r\n".$body."\r\n?".">";
    $fp=fopen($bookfile,'w');
    //$flock($fp);
    fwrite($fp,$body);
    Fclose($fp);}
    wirte($_GET['cid'],$_GET['body']);
    ?>
      

  5.   

    /data//bkXXXX.php   是虚拟主机的根目录,不是系统盘的根
      

  6.   

    fopen函数貌似不能给他相对路径的
      

  7.   

    女孩子适合做程序员吗,PHP最好的开发工具