Home Backend Development PHP Tutorial PHP file and directory operations

PHP file and directory operations

Aug 08, 2016 am 09:32 AM
echo false file

目录操作

$base_dir  = 'filelist/';
$fso = opendir($base_dir);//打开目录,返回目录句柄
echo 'Basedir:'.$base_dir.'<hr />';
while($filelist = readdir($fso))
{
	echo $filelist.'<br />';
}
closedir($fs);//关闭目录句柄
Copy after login
可以使用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);//关闭指针
Copy after login

读取文件

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

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

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

$content = file_get_contents($filename);

echo htmlentities($data);
Copy after login

写文件

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

$content = 'Hello World';

file_put_contents($filename, $content);
Copy after login

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

$filename = 'test.txt';
$data = 'Hello World';
$handle = fopen($filename, 'w');
fwrite($handle, $data);
fclose($handle);
Copy after login
写入文件的时候有时候需要锁定,然后写

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;
}
Copy after login

删除文件

$file = 'test.txt';
$result = @unlink($file);
Copy after login

复制文件

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

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

if($result == false)
{
	echo 'Done';
}
Copy after login

获取文件属性

$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));
Copy after login

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

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Use java's File.length() function to get the size of the file Use java's File.length() function to get the size of the file Jul 24, 2023 am 08:36 AM

Use Java's File.length() function to get the size of a file. File size is a very common requirement when dealing with file operations. Java provides a very convenient way to get the size of a file, that is, using the length() method of the File class. . This article will introduce how to use this method to get the size of a file and give corresponding code examples. First, we need to create a File object to represent the file we want to get the size of. Here is how to create a File object: Filef

Hongmeng native application random poetry Hongmeng native application random poetry Feb 19, 2024 pm 01:36 PM

To learn more about open source, please visit: 51CTO Hongmeng Developer Community https://ost.51cto.com Running environment DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. To create an application, click File- >newFile->CreateProgect. Select template: [OpenHarmony] EmptyAbility: Fill in the project name, shici, application package name com.nut.shici, and application storage location XXX (no Chinese, special characters, or spaces). CompileSDK10, Model: Stage. Device

How to convert php blob to file How to convert php blob to file Mar 16, 2023 am 10:47 AM

How to convert php blob to file: 1. Create a php sample file; 2. Through "function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' })} ” method can be used to convert Blob to File.

Rename files using java's File.renameTo() function Rename files using java's File.renameTo() function Jul 25, 2023 pm 03:45 PM

Use Java's File.renameTo() function to rename files. In Java programming, we often need to rename files. Java provides the File class to handle file operations, and its renameTo() function can easily rename files. This article will introduce how to use Java's File.renameTo() function to rename files and provide corresponding code examples. The File.renameTo() function is a method of the File class.

Use java's File.getParent() function to get the parent path of the file Use java's File.getParent() function to get the parent path of the file Jul 24, 2023 pm 01:40 PM

Use java's File.getParent() function to get the parent path of a file. In Java programming, we often need to operate files and folders. Sometimes, we need to get the parent path of a file, which is the path of the folder where the file is located. Java's File class provides the getParent() method to obtain the parent path of a file or folder. The File class is Java's abstract representation of files and folders. It provides a series of methods for operating files and folders. Among them, get

Use java's File.getParentFile() function to get the parent directory of the file Use java's File.getParentFile() function to get the parent directory of the file Jul 27, 2023 am 11:45 AM

Use java's File.getParentFile() function to get the parent directory of a file. In Java programming, we often need to operate files and folders. When we need to get the parent directory of a file, we can use the File.getParentFile() function provided by Java. This article explains how to use this function and provides code examples. File class in Java is the main class used to operate files and folders. It provides many methods to obtain and manipulate file properties

Five selected Go language open source projects to take you to explore the technology world Five selected Go language open source projects to take you to explore the technology world Jan 30, 2024 am 09:08 AM

In today's era of rapid technological development, programming languages ​​are springing up like mushrooms after a rain. One of the languages ​​that has attracted much attention is the Go language, which is loved by many developers for its simplicity, efficiency, concurrency safety and other features. The Go language is known for its strong ecosystem with many excellent open source projects. This article will introduce five selected Go language open source projects and lead readers to explore the world of Go language open source projects. KubernetesKubernetes is an open source container orchestration engine for automated

Go language development essentials: 5 popular framework recommendations Go language development essentials: 5 popular framework recommendations Mar 24, 2024 pm 01:15 PM

&quot;Go Language Development Essentials: 5 Popular Framework Recommendations&quot; As a fast and efficient programming language, Go language is favored by more and more developers. In order to improve development efficiency and optimize code structure, many developers choose to use frameworks to quickly build applications. In the world of Go language, there are many excellent frameworks to choose from. This article will introduce 5 popular Go language frameworks and provide specific code examples to help readers better understand and use these frameworks. 1.GinGin is a lightweight web framework with fast

See all articles