写入内容返回了NULL,这是为什么呢

来源:2-7 文件读写函数封装

请叫我05

2018-01-16 18:07:43

function writ_file1($filename,$data,$clear=false){
   $dir = dirname($filename);
   if (!file_exists($filename)){
       mkdir($dir,0777,true);
   }
   //检测文件是否存在,并且可读
   if(is_file($filename)&&is_readable($filename)){
       //读取文件内容,之后和新的写入的内容拼装到一起
       if(filesize($filename)>0){
           $dataD=file_get_contents($filename);
       }
   }
   if (is_array($data)||is_object($data)){
       $data=serialize($data);
   }
   $data=$dataD.$data;
   if (file_put_contents($filename,$data)!==false){
       echo true;
   }else{
       echo false;
   }
}
var_dump(writ_file1('llw.txt','tianjia'));

写回答

2回答

好帮手慕查理

2018-01-16

您好,由于您判断写入内容成功或失败时返回的是true或者false,所以当你写入成功时echo true;,但是true会转化成1输出,因此页面显示的是1。返回null是因为,当执行完writ_file1()方法时,writ_file1()中并没有返回的内容,因此会输出null。

例如:可改为返回成功或失败的提示消息。

<?php
function writ_file1($filename,$data,$clear=false){
    $dir = dirname($filename);
    if (!file_exists($filename)){
        mkdir($dir,0777,true);
    }
    //检测文件是否存在,并且可读
    if(is_file($filename)&&is_readable($filename)){
        //读取文件内容,之后和新的写入的内容拼装到一起
        if(filesize($filename)>0){
            $dataD=file_get_contents($filename);
        }
    }
    if (is_array($data)||is_object($data)){
        $data=serialize($data);
    }
    $data=$dataD.$data;
    if (file_put_contents($filename,$data)!==false){
        return "写入成功";
    }else{
        return "写入失败";
    }
}
var_dump(writ_file1('llw.txt','tianjia'));

如果解决了您的问题,请采纳,祝学习愉快!

0

请叫我05

提问者

2018-01-16

返回的结果是   1NULL

0

0 学习 · 2569 问题

查看课程