L o a d i n g . . .
主打一个C++
文章详情

常用的一些php文件和目录操作函数

Posted on 2021-08-04 23:21:57 by 主打一个C++

一些常用的php对文件操作的函数

<?php
/*
php文件操作函数
*/
/**
 * 删除文本头部和尾部的全部空白字符
 * @param string $str内容
 * @return string 结果
 */
function f_trim_all($str) {
    return trim(preg_replace('/\s+/','', $str));
}
/**
 * 获取文件内容
 * @param string $file 文件路径
 * @return string 文件内容
 */
function f_get_file_content($file) {
    return file_get_contents($file);
}
/**
 * 从一个html文件中提取第一个img标签的src属性值
 */
function f_get_img_src($file){
    $content = file_get_contents($file);
    preg_match('/<img.*?src="(.*?)".*?>/i', $content, $match);
    if(isset($match[1])){
        return $match[1];
    }else{
        return '';
    }
}
/**
 * 检测目录是否存在。否则创建目录
 */
function f_check_dir($dir){
    if(!is_dir($dir)){
        return mkdir($dir, 0777, true);
    }
}
/**
 * 文件是否存在
 */
function f_check_file($file){
    return file_exists($file);
}
/**
 * 检测文件是否存在。否则创建文件
 */
function f_check_file_or_write($file){
    if(!file_exists($file)){
        return touch($file);
    }
}
/**
 * 检测文件是否存在。否则创建文件并写入内容
 */
function f_check_file_write($file, $content){
    if(!file_exists($file)){
        return file_put_contents($file, $content);
    }
}
/**
 * 获取文件扩展名
 */
function f_get_file_ext($file){
    return pathinfo($file, PATHINFO_EXTENSION);
}
/**
 * 获取文件大小
 */
function f_get_file_size($file){
    return filesize($file);
}
/**
 * 获取文件创建时间
 */
function f_get_file_ctime($file){
    return filectime($file);
}
/**
 * 获取文件修改时间
 */
function f_get_file_mtime($file){
    return filemtime($file);
}
/**
 * 获取文件权限
 */
function f_get_file_perms($file){
    return fileperms($file);
}
/**
 * 获取文件类型
 */
function f_get_file_type($file){
    return filetype($file);
}
/**
 * 获取文件绝对路径
 */
function f_get_file_abspath($file){
    return realpath($file);
}
/**
 * 写入文件文本内容
 */
function f_write_file_content($file, $content){
    return file_put_contents($file, $content);
}
/**
 * 写入文件文本内容
 */
function f_write_file($file, $content){
    $fp = fopen($file, 'w');
    fwrite($fp, $content);
    fclose($fp);
}
/**
 * 删除文件
 */
function f_delete_file($file){
    return unlink($file);
}
/**
 * 复制文件
 */
function f_copy_file($src, $dst){
    return copy($src, $dst);
}
/**
 * 移动文件
 */
function f_move_file($src, $dst){
    return rename($src, $dst);
}
/**
 * 创建目录
 */
function f_create_dir($dir){
    return mkdir($dir, 0777, true);
}
/**
 * 删除目录
 */
function f_delete_dir($dir){
    return rmdir($dir);
}
/**
 * 获取目录下所有文件
 */
function f_get_dir_files($dir){
    return scandir($dir);
}
/**
 * 获取目录下所有文件(包含子目录)
 */
function f_get_dir_files_all($dir){
    $files = array();
    $dir_list = scandir($dir);
    foreach ($dir_list as $file) {
        if ($file == '.' || $file == '..') {
            continue;
        }
        if (is_dir($dir. '/'. $file)) {
            $files = array_merge($files, f_get_dir_files_all($dir. '/'. $file));
        } else {
            $files[] = $dir. '/'. $file;
        }
    }
    return $files;
}
/**
 * 获取目录下所有目录
 */
function f_get_dir_dirs($dir){
    $dirs = array();
    $dir_list = scandir($dir);
    foreach ($dir_list as $file) {
        if ($file == '.' || $file == '..') {
            continue;
        }
        if (is_dir($dir. '/'. $file)) {
            $dirs[] = $dir. '/'. $file;
        }
    }
    return $dirs;
}

/**
 * 获取目录大小
 */
function f_get_dir_size($dir){
    $size = 0;
    $dir_list = scandir($dir);
    foreach ($dir_list as $file) {
        if ($file == '.' || $file == '..') {
            continue;
        }
        if (is_dir($dir. '/'. $file)) {
            $size += f_get_dir_size($dir. '/'. $file);
        } else {
            $size += filesize($dir. '/'. $file);
        }
    }
    return $size;
}
/**
 * 获取目录创建时间
 */
function f_get_dir_ctime($dir){
    return filectime($dir);
}

/**
 * 获取目录修改时间
 */
function f_get_dir_mtime($dir){
    return filemtime($dir);
}

/**
 * 获取目录权限
 */
function f_get_dir_perms($dir){
    return fileperms($dir);
}

/**
 * 获取目录类型
 */
function f_get_dir_type($dir){
    return filetype($dir);
}
/**
 * 获取目录绝对路径
 */
function f_get_dir_abspath($dir){
    return realpath($dir);
}
?>



*转载请注明出处:原文链接:https://cpp.vin/page/8.html

作者近期文章
  • 随手笔记
  • 主打一个C++   2025-01-11 20:02:01
  • 都2000000025年了。还有不能随意访问guthub的,仔细看。在国内其实是可以正常访问的,gfw并没屏蔽。这里给出其中一个简单直接的方法稳定访问。1. 随便百度一个”dn
提示
×
确定
数据库执行: 8次 总耗时: 0.01s
页面加载耗时: 



wechat +447752296473
wechat cpp-blog