php关于文件的创建和修改

1.目录的操作

首先是从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出

<?php

$base_dir=”filelist/” ;    //定义需要操作的文件

$fso=opendir($base_dir) ;  //使用opendir打开对应路径,并返回对应的资源类型

Echo $base_dir.”<br />”;   //进行输出查看

While($flist=readdir($fso))

{

Echo $flist.”<br />”

}

Closedir($fso);     //防止内存的溢出,最后需要进行关闭

?>

有时间需要知道目录的信息,可以使用dirname($path)和basename($path),分别返回路径的目录部分和文件的名称部分,可用disk_free_space($path)返回查看文件剩余的空间。

创建文件夹命令:

Mkdir($path,0777):     0777是文件创建时候的权限,这个命令仅仅适用于unix系统

Rmdir($path);         删除路径为$path的文件

2.关于文件的操作

2.1 新建文件

首先。要求确定你所要新建文件所在目录权限,建议设置为0777.然后,新建文件的名称建议适用绝对路径

<?php

$filename=”text.txt”;

$fp=fopen(“$filename”,”w+”);

If(!is_writable($filename))

{

Die(“文件:”.filename.”不可写,请检查!”);

}

Fwrite($filename,”anything you want to write to $filename”);

Fclose($fp);  //关闭内存的暂用

?>

2.2读取文件

首先要确定文件是否拥有读取的权限(或则读取的文件是否存在),我们可以用is_readable函数获取信息;

<?php

$file=”dirlist.php”;

If(is_readable($file)==false)

{

Die(“文件不存在或则无法读取”);

}else{

Echo “存在”;

}

判断文件存在的函数还有file_exists(),但是这个显然我is_readable全面,当一个文件存在的话 可以用

<?php

$file=”filelist.php”;

If(file_exists($file)==false)

{

Die(“文件不存在”);

}

$data=file_get_contents($file);

Echo htmllentities($data);             //需要测试这个函数是什么意思;

还有一种方式,可以读取二进制文件

$data=inplode(“”,file($file));         //需要测试

?>

2.3写文件

和读取文件的方式一样,先看看是不是能写

<?php

$file=”dirlist.php”;

If(is_writable($file)==false)

{

Die(“文件没有写入的权限”);

}

?>

能够写入的话使用的是file_put_contents函数写入:

<?

$file=”dirlist.php”;

If(is_writable($file)==false)

{

Die(“我是鸡毛,我不能。”);

}

$date=”我是写入内容”;

File_put_contents($file,$data);

?>

File_put_contents函数是在php5中新引进的函数(不知道存在的话用

Function_exists函数先判断一下),低版本的php无法使用,可以使用如下的方式:

$f=fopen($file,”w”);

Fwrite($f,$data);

Fclose($f);

写文件的时候有时候需要锁定,然后写:

Function cache_page($pageurl,$pagedata)

{

If(!$fso=fopen($pageurl,”w”))

{

$this->warns(“无法打开缓存文件。”); //错误提醒

Return false;

}

If(!loack($fos,LOCK_EX))

{

//lock_nb ,排它型锁定

$this->warns(“无法锁定缓存文件。”);//错误提醒

Return false

}

If(!fwrite($fso,$pagedata))

{

//写入字节流,$serialize写入其他的格式

$this->warns(“无法写入缓存文件”); //错误提醒

Return false;

}

Flock($fso,LOCK_UN);//解放锁定

Fclose($fso);

Return true ;

}

2.4复制,删除文件

Php删除文件是非常简单的,用unlink函数简单操作:

<?php

$file=”dirlist.php”;

[email protected]($file);

If($result==false)

{

Echo “文件已经删除”;

}else{

Echo “文件删除失败”;

}

?>

可以使用rename()函数重命名一个文件夹,其他的炒作都是这几个函数组合一下就能够实现

2.5获取文件属性

我这个说几个常见的幻术

获取最近修改时间

<?php

$file=”text.txt”;

Echo date(“r’,filemtime($file));

?>

返回的说unix的时间戳,这个在缓存技术常用

相关的还有获取上次被访问的时间fileatime(),filectime()当前文件的权限,所有则,所有组或其他inode中的元素被更新时间,fileowner()函数返回文件所有者;

$owner=posix_getpuid(flieowner($file));

(非window系统),ileperms 获取文件的权限,

<?php

$file=”dirlist.php”;

$perms=substr(sprintf(‘%o’,fileperms($file)),-4);

Echo $perms;

?>

.

Filesize( ) 返回文件大小的字节数

<?php

//输出类似:somefile.txt   1024 bytes

$filename=”somefile.txt”;

Echo $filename.”:”.filesize($filename).”bytes”;

?>

获取文件的全部信息有个返回数组的函数stat() 函数

<?php

$file=”dirlist.php”;

$perms=stat($file);

Var_dump($perms);

?>

时间: 2024-11-11 08:14:28

php关于文件的创建和修改的相关文章

C# 轻松读取、改变文件的创建、修改、访问时间 z

// 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt");Console.WriteLine(fi.CreationTime.ToString());Console.WriteLine(fi.LastWriteTime.ToString());Console.WriteLine(fi.LastAccessTime.ToString()); // 改变(设置)文件的创建.修改.访问时间File.SetCreationTime

用 C# 轻松读取、改变文件的创建、修改、访问时间

创建时间是文件存入到电脑中的时间,而修改时间则是改变起内容的最后时间 // 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt");Console.WriteLine(fi.CreationTime.ToString());Console.WriteLine(fi.LastWriteTime.ToString());Console.WriteLine(fi.LastAccessTime.ToString()); // 改变(设

【linux】如何查看文件的创建、修改时间

本篇博文旨在介绍Linux下查看文件时间的方法:并介绍如何使用touch指令来进行文件时间的创建以及修改 如何查看文件的时间信息利用stat指令查看文件信息 三种时间的介绍ATime --文件的最近访问时间只要读取时间,ATime就会更新 MTime --文件的内容最近修改的时间当文件进行被写的时候,CTime就会更新 CTime--文件属性最近修改的时间当文件的目录被修改,或者文件的所有者,权限等被修改时 CTime也就会更新 如何利用touch指令进行文件的时间修改?touch指令的介绍to

python脚本获取文件的创建于修改日期并计算时间差

由于在计算一个算法的运行时间的时候,需要将文件的创建日期与修改日期读取到,然后计算两者之差,在网上搜索了相关的程序之后,自己又修改了一下,把代码贴在这里,供以后查阅使用,也希望可以帮到其他人. 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Mon Dec 12 14:59:46 2016 4 5 @author: shenruixue 6 7 to calculate size after filter in conv and po

得到文件的创建时间修改时间等

#include <windows.h> #include <tchar.h> #include <strsafe.h> // GetLastWriteTime - Retrieves the last-write time and converts// the time to a string//// Return value - TRUE if successful, FALSE otherwise// hFile - Valid file handle// lps

查询或修改文件的创建、访问、修改等时间戳信息

查询或修改文件的创建.访问.修改等时间戳信息.(作者写了一个命令程序以支持这些操作,程序下载链接:http://down.51cto.com/data/2286646) 这是一个命令程序,需要获取命令行参数才可以工作.命令帮助信息如下: setfiletime 文件时间戳修改命令. setfiletime [-q type] | [-s sametime] | [[-c createtime] [-aaccesstime] [-w wri tetime]] | [-h] | [-0] | [-1

linux指令之文件的创建、查询、修改

mkdir(make directory) 功能:创建目录 案例: mkdir test 点评:将创建一个目录名为test的目录 rmdir(remove directory) 功能:删除目录 案例: rmdir test 点评:将删除目录test mv 功能:移动目录 范例一: mv mvtest test 点评:将目录mvtest 移动到目录test下面 范例二: mv mvtest mvtest2 点评:更名的效果 范例三: mv test test2 mvtest 点评:将目录test

java dom4j创建 ,修改 ,删除 xml文件内容

import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentExcep

文件的创建,读取,写入,修改,删除---python入门

转自:http://blog.163.com/jackylau_v/blog/static/175754040201181505158356/ 一.用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行: #python >>>f=open('f.txt','w') # r只读,w可写,a追加 >>>for i in range(0,10):f.write(str(i)+'\n') . . . >>> f.close() 二.文件内容追加