$the_file=fopen($file,"w+");
在你要重写的地方这样打开文件

解决方案 »

  1.   

    to:myvicy(在线解决:你的问题我来解决(因为我不会骗人,所以我最) 
    我用的是fopen($file,"w+");呢
    因为我调用的是这个函数来重写
    function outputFile($content,$file){
    $handle=fopen($file,"w+");
    fwrite($handle,$content);
    fclose($handle);
    }里面用的是“W+”呢。
      

  2.   

    mode 说明 
    'r' 只读方式打开,将文件指针指向文件头。  
    'r+' 读写方式打开,将文件指针指向文件头。  
    'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。  
    'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。  
    'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。  
    'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
      

  3.   

    可为什么会每修改的内容长度比以前大。而在文件的末尾就减去相应的长度呢?
    比如
    <?
    define("PALACE_NAME5","酒馆");//原市政府
    define("PALACE_NAME6","金库");//原银行
    .
    .
    .
    define("GOV_LOGO","http://career.wap2008.com/images/gov.png");//原市政府LOGO
    define("BANK_LOGO","http://career.wap2008.com/images/bank.png");//原银行LOGO?>
    我在后台对define("PALACE_NAME5","酒馆");//原市政府 里面的内容 “酒馆”根据如上的代码修改为“酒馆1”那么最后的文件就成了
    <?
    define("PALACE_NAME5","酒馆");//原市政府
    define("PALACE_NAME6","金库");//原银行
    .
    .
    .
    define("GOV_LOGO","http://career.wap2008.com/images/gov.png");//原市政府LOGO
    define("BANK_LOGO","http://career.wap2008.com/images/bank.png");//原银行LOGO
    末尾的“?〉”就没了,这是为什么呢?
      

  4.   

    你的putConstValue函数有误!function putConstValue($const_name,$old,$new,$content){
    $const_name="define(\"".$const_name."\",";
    $start=strpos($content,$const_name)+strlen($const_name);
    $end=strpos($content,");",$start);//这是取得尾部需要保存的内容开始的位置
    $head=substr($content,0,$start);//取得全面需要保存的内容
    $tail=substr($content,$end);//取得尾部需要保存的内容。但是这里用错了参数,应写做$tail=substr($content,-$end);
    $const=substr($content,$start,($end-$start));
    $const=str_replace($old,$new,$const);
    $content=$head.$const.$tail;
    return($content);
    }
      

  5.   

    to:xuzuning(唠叨) 
    不对啊,如果我把$tail=substr($content,$end);// 改成$tail=substr($content,-$end);那写进文件的就不对了。就乱了
      

  6.   

    晕!解决了。不是其他问题。
    而是fopen($file,"w+");的时候竟然没有把内容删除完。
    在function outputFile($content,$file){
             unlink($file);
    $handle=fopen($file,"w+");
    fwrite($handle,$content);
    fclose($handle);
    }
    里面加上unlink($file);就好了。
    让我郁闷了半天。原来是PHP函数问题。
    还是谢谢大家:)