【获取文件信息的函数】
basename($path[,扩展名]) 返回文件路径中去掉路径后的文件名称。"/root/a.txt"输出a.txt;带上.txt输出a。
dirname($path); 查看目录名称。"/root/a.txt" 输出 /root。
pathinfo($path) 返回数组。"/root/a.txt" 输出array(dirname=>root,basename=>a.txt,extension=>txt)。
realpath($path);返回文件的绝对路径。realpath(“../../aaa.txt”); 输出 D:/aaa.txt。
filetype($path); 返回文件类型。 filesize($path); 计算文件大小(字节数)。
fileatime() 文件上次被访问的时间,filemtime() 文件上次被修改的时间。filesize()返回文件大小。file_exists()检查文件或目录是否存在。
disk_total_space() 返回一个目录所在的磁盘分区大小(字节数)。
fileperms() 获取文件的权限。
getimagesize("1.jpg"); 获取图片尺寸
 
【操作目录的函数】
mkdir() 创建目录:mkdir(‘image’,)
opendir() 打开目录:if(opendir("D:/www")) echo 'ok'; else echo 'fail';
closedir() 关闭目录。rename()重命名目录。rmdir() 删除空目录。
readdir() 读取文件目录,返回该目录下的所有文件名称。
$dir = opendir(“D:/www”);
while( ($file=readdir($dir)) !== false ){
echo $file;
}
closedir($dir);
 
【操作文件的函数】
fopen() 打开文件;fclose() 关闭文件;touch()创建文件;unlink()删除文件;copy()复制文件;rename()重命名文件;flock()锁定文件。
fwrite() 和 fputs() 和 file_put_contents($filename [,FILE_APPEND]): 写入文件。
is_writable() 检查文件是否可写,判断文件权限,同类is_readable() 检查文件是否可读,返回布尔值。
fread() 读取文件。 fgets() 读取文档中的一行。 fgetss() 读取文档一行并去掉HTML和PHP标记。
move_uploaded_file($upload_file,$path); 上传图片(form表单必须设置enctype="multipart/form-data"属性)。
stat() 返回关于文件的信息,本函数的结果会被缓存,使用clearstatcache()来清除缓存。
PHP输出CSV和EXCEL两种简单的方法:header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=php100.xls");
文件指针函数:rewind()、fseek()、feof()、ftell() 。
 
【下载文件】
header("Content-Type:image/gif");
header('Content-Disposition: attachment; filename="logo3333.gif"');
header('Content-Length:'.filesize("logo.gif"));
readfile("logo.gif");
     
【从一个标准 url 里取出文件的扩展名】
function getExt($url){
$arr = parse_url($url);
$file = basename($arr['path']);
$ext = explode(".",$file);
return $ext[];
}
$str = "http://www.sina.com.cn/abc/de/fg.php?id=1";
echo getExt($str);// 输出:php
 
【删除非空目录】
function deldir($dirname){
if(file_exists($dirname)) {
$dir=opendir($dirname);
while($filename=readdir($dir)){
if($filename!="."&& $filename!=".."){
$file=$dirname."/".$filename;
if(is_dir($file)){
deldir($file);//使用递归删除子目录
}else{
echo'删除文件<b>'.$file.'</b>成功';
unlink($file);
}
}
}
closedir($dir);
echo'删除目录<b>'.$dirname.'</b>成功';
rmdir($dirname);
}
}
 
【复制非空目录】
function copydir($dirsrc, $dirto){
if(is_file($dirto)){
echo"目标不是目录不能创建";
return;
}
if(!file_exists($dirto)){
mkdir($dirto);
//echo "创建目录".$dirto."成功!";
}
$dir=opendir($dirsrc);
while($filename=readdir($dir)){
if($filename!="."&& $filename!=".."){
$file1=$dirsrc."/".$filename;
$file2=$dirto."/".$filename;
if(is_dir($file1)){
copydir($file1, $file2);//递归处理
}else{
copy($file1, $file2);
}
}
}
closedir($dir);
}
 
【PHP读取一个目录下的文件个数】
function FileCount($dir){
global $count;
if(is_dir($dir) && file_exists($dir)){
$ob=scandir($dir);
foreach($ob as $file){
if($file=="."||$file==".."){
continue;
}
$file=$dir."/".$file;
if(is_file($file)){
$count++;
}elseif(is_dir($file)){
FileCount($file);
}
}
}
}
//调用方法
$count=;
FileCount("DataRoom");
echo $count;exit;
 
【php获取目录中的所有文件名】
$handler = opendir('pic/common');
while( ($filename = readdir($handler)) !== false ) {
if($filename != "." && $filename != ".."){
echo $filename;
}
}
closedir($handler);
【判断远程图片(文件)是否存在】
function check_remote_file_exists($url) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_NOBODY, true); // 不取回数据
$result = curl_exec($curl); // 发送请求
$found = false;
if ($result !== false) {
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode == ) {
$found = true;
}
}
curl_close($curl);
return $found;
}
 

PHP操作文件常用函数的更多相关文章

  1. 7.打开文件、文件读写操作、with方式、文件常用函数

    打开文件: 在python3中,打开文件的函数是: open(file, mode='r', buffering=None, encoding=None, errors=None, newline=N ...

  2. php文件操作(最后进行文件常用函数封装)

    文件信息相关API $filename="./1-file.php"; //filetype($filename):获取文件的类型,返回的是文件的类型 echo '文件类型为:', ...

  3. python ftp操作脚本&常用函数

    需求:快速进行ftp上传 ,下载,查询文件 原来直接在shell下操作: 需要[连接,输用户名,输密码,单文件操作,存在超时限制] 太过于繁琐,容易操作失败 脚本改进: 一句命令,搞定多文件上传,下载 ...

  4. Python文件或目录操作的常用函数

    ◆ os.listdir(path) Return a list containing the names of the entries in the directory given by path. ...

  5. PHP_File文件操作简单常用函数

    php测试文件 <?php header("Content-type:text/html;charest=utf-8");$fileDir='Upload/File/cont ...

  6. NPOI操作Excel常用函数

    最近因项目接触了NPOI,感觉还是蛮不错的,网络上的教程普遍版本较老,本篇记录所常用操作,采用NPOI 2.0版本. 推荐: NPOI官方网站 NPOI 1.2.4/1.2.5 官方教程 新建Exce ...

  7. c语言字符串操作,及常用函数

    一,字符串操作 1 . strcpy : 拷贝 char *stpcpy(char *destin, char *source); 2 . strcat :  拼接 char *strcat(char ...

  8. JQuery之DOM操作及常用函数

    属性操作 attr(name)获取属性值 var imgSrc = $("img").attr("src") attr(name,value)设置属性值 $(& ...

  9. 【转】.NET NPOI操作Excel常用函数

    最近因项目接触了NPOI,感觉还是蛮不错的,网络上的教程普遍版本较老,本篇记录所常用操作,采用NPOI 2.0版本. 推荐: NPOI官方网站 NPOI 1.2.4/1.2.5 官方教程 新建Exce ...

随机推荐

  1. Python函数Day3

    一.函数名的应用 函数名类似于特殊的变量,打印函数名就是打印函数的内存地址 ① 函数名就是函数的内存地址 def func(): pass >>>func <function ...

  2. Django session默认配置

    配置 settings.py     SESSION_ENGINE = 'django.contrib.sessions.backends.db'   # 引擎(默认)           SESSI ...

  3. FAILED: SemanticException Unable to determine if hdfs://tmaster:8020/user/root/words.db/test_t2 is encrypted

    使用hive时,建立数据库,建表,写数据: 读数据:select *  from test_t2; 报错SemanticException 原因:建表时使用了其他路径,或者在另一个路径的数据库(建立数 ...

  4. ERROR: Cannot uninstall 'wrapt'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

    pip install imagededup 时,报错:Cannot uninstall 'wrapt'. It is a distutils installed project and thus w ...

  5. 转载: Redis面试常问的问题

    https://www.cnblogs.com/javazhiyin/p/9842571.html 近,阿音在为接下来的一场面试做准备,其中的内容包括redis,而且redis是重点内容. Redis ...

  6. 创建虚拟目录 http://localhost:1001/ 失败,错误: 无法创建网站

    使用vs2015打开一个vs2008项目报错了. 最后网上找到的解决方案, 1,打开编辑xxx.csproj文件: 2,找到节点ProjectExtensions注释掉: 3,重新加载就好了.

  7. 【FRDM-K64F学习笔记】使用ARM mbed和Keil MDK下载你的第一个程序

    FRDM-K64F开发平台采用MK64FN1M0VLL12微控制器.该控制器包含一个带有浮点单元的ARM Cortex-M4内核.其最高工作频率为120MHz,具有256KB的RAM.1MB闪存以及许 ...

  8. Linux网络编程综合运用之MiniFtp实现(三)

    前面已经对FTP相关的一些概念有了基本的认识,接下来就要进入代码编写阶段了,也是非常兴奋的阶段,在开启这个它之前先对项目需求进行一个梳理,对其我们要实现的FTP服务器是一个什么样子. ftp命令列表 ...

  9. 新闻系统——SQLHelper助手优化

    在前面我们机房重构的时候已经用过了SQLHelper,但当时就是只会应用,知道利用SQLHelper能够帮助我们连接数据库,但对于怎样书写还是不太清楚,今天就揭开这层神秘的面纱,来真正体验如何来编写S ...

  10. eslint 对下一行不要校验报错

    eslint 对下一行不要校验报错: <--eslint-disable-next-line--> <div>todo</div> 扩展知识: stylelint ...