php自动创建目录并保存文件

php保存文件,还可以根据文件路径自动连续创建目录,代码如下(注:PHP要版本5以上):

<?php
    /**
     * 保存文件
     *
     * @param string $fileName 文件名(含相对路径)
     * @param string $text 文件内容
     * @return boolean
     */
    function saveFile($fileName, $text) {
        if (!$fileName || !$text)
            return false;
        if (makeDir(dirname($fileName))) {
            if ($fp = fopen($fileName, "w")) {
                if (@fwrite($fp, $text)) {
                    fclose($fp);
                    return true;
                } else {
                    fclose($fp);
                    return false;
                }
            }
        }
        return false;
    }
    /**
     * 连续创建目录
     *
     * @param string $dir 目录字符串
     * @param int $mode 权限数字
     * @return boolean
     */
    function makeDir($dir, $mode=0755) {
         /*function makeDir($dir, $mode="0777") { 此外0777不能加单引号和双引号,
     加了以后,"0400" = 600权限,处以为会这样,我也想不通*/
        if (!dir) return false;
        if(!file_exists($dir)) {
            return mkdir($dir,$mode,true);
        } else {
            return true;
        }
    }
?>
//以下是测试内容,并调用上面的函数
<?php
    $content = '这里是测试内容';
    if(saveFile('dir/test.txt',$content)){
        echo '写入成功';
    }else{
        echo '写入失败';
    }
?>

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注