Maison > développement back-end > tutoriel php > PHP文件和目录操作

PHP文件和目录操作

WBOY
Libérer: 2016-08-08 09:32:21
original
1001 Les gens l'ont consulté

目录操作

$base_dir  = 'filelist/';
$fso = opendir($base_dir);//打开目录,返回目录句柄
echo 'Basedir:'.$base_dir.'<hr>';
while($filelist = readdir($fso))
{
	echo $filelist.'<br>';
}
closedir($fs);//关闭目录句柄
Copier après la connexion
可以使用dirname($path)和basename($path)来分别返回路径的目录部分和文件名部分,可以用disk_free_space($path)返回空间的剩余大小。

创建命令:

mkdir($path,0777):0777是权限码,在非Windows下可用umask()来设置

rmdir($path):删除路径$path下的文件

新建文件

首先,要确定所创建文件所在目录的权限,建议设置为777,新建文件的名称建议使用绝对路径

$filename = 'test.txt';
$fp = fopen($filename, 'w+');//打开文件指针,创建文件
if(!is_writable($filename))
{
	die('文件:'.$filename.'不可写,请检查!');
}
fclose($fp);//关闭指针
Copier après la connexion

读取文件

首先判断文件能否读取(权限问题),然后判断文件是否存在

$filename = 'test.txt';
if(is_readable($filename) == false)
{
	die('文件不存在或无法读取');
}

if(file_exists($filename) == false)
{
	die('文件不存在');
}

$content = file_get_contents($filename);

echo htmlentities($data);
Copier après la connexion

写文件

$filename = 'test.txt';
if(is_writeable($filename) == false)
{
	die('不能写入');
}

$content = 'Hello World';

file_put_contents($filename, $content);
Copier après la connexion

file_put_contents()是在PHP5中新引进的函数,低版本的PHP无法使用,可以使用以下方式:

$filename = 'test.txt';
$data = 'Hello World';
$handle = fopen($filename, 'w');
fwrite($handle, $data);
fclose($handle);
Copier après la connexion
写入文件的时候有时候需要锁定,然后写

function cache_page($pageurl, $pagedata)
{
	if(!$fso = fopen($pageurl, 'w'))
	{
		$this->warns('无法打开缓存文件');
		return false;
	}

	//LOCK_NB,排他型锁定
	if(!flock($fsom, LOCK_EX))
	{
		$this->warns('无法锁定缓存文件');
		return false;
	}

	//写入字节流,serizlize写入其他格式
	if(!fwrite($fso, $pagedata))
	{
		$this->warns('无法写入缓存文件');
		return false;
	}

	//释放锁定
	flock($fso, LOCK_UN);
	fclose($fso);
	return true;
}
Copier après la connexion

删除文件

$file = 'test.txt';
$result = @unlink($file);
Copier après la connexion

复制文件

$file = 'test.txt';
$newfile = 'new.txt';//这个文件父文件夹必须可写
if(file_exists($file) == false)
{
	die('文件不存在');
}

$result = copy($file, $newfile);

if($result == false)
{
	echo 'Done';
}
Copier après la connexion

获取文件属性

$file = 'test.txt';

//获取最近修改时间
echo date('r', filemtime($file));

//获取上次被访问时间
echo date('r', fileatime($file));

//返回文件所有者
echo posix_getpwuid(fileowner($file));

//获取文件权限,非Win
echo substr(sprintf('$o', fileperms($file), -4));

//返回文件大小
echo filesize($file).'bytes';

//返回文件的全部信息
var_dump(stat($file));
Copier après la connexion

以上就介绍了PHP文件和目录操作,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal