백엔드 개발 PHP 튜토리얼 php文件操作实例代码_php实例

php文件操作实例代码_php实例

Jun 07, 2016 pm 05:25 PM
PHP 파일 작업

先送上一段简单的实例

复制代码 代码如下:

if(!is_dir('txt'))//判断txt是否为文件夹目录
{
mkdir('txt');//创建名为txt的文件夹目录
$open=fopen('txt/in.txt',"w+");//以读写的方式打开文件
if(is_writable('txt/in.txt'))//如果此文件为可写模式
{
if(fwrite($open,"今天是美好的一天,一定要开心哦!《- -》")>0)//写入内容
fclose($open);//关闭文件
echo "<script>alert('写入成功');</script>";//输出成功提示
}
}
else
{
if(is_file('txt/in.txt'))//判断目录是否存在in.txt文件
{
if(is_readable('txt/in.txt'))//判断文件是否可读
{
echo file_get_contents('txt/in.txt');//输出文本信息
unlink('txt/in.txt');//删除文件in.txt
rmdir('txt');//删除目录
}
}
}
?>

一、引论

在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,而,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用.,关于对应的函数详细介绍,请查阅php手册.此处只总结重点.和需要注意的地方.(这在php手册是没有的.)

二、目录操作

首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出:
复制代码 代码如下:

$base_dir = "filelist/";
$fso = opendir($base_dir);
echo $base_dir."
" ;
while($flist=readdir($fso)){
echo $flist."
" ;
}
closedir($fso)
?>

这是讲返回文件目录下面的文件已经目录的程序(0文件将返回false).

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

创建命令:

mkdir($path,0777)

,0777是权限码,在非window下可用umask()函数设置.

rmdir($path)

将删除路径在$path的文件.

dir -- directory 类也是操作文件目录的重要类,有3个方法,read,rewind,close,这是一个仿面向对象的类,它先使用的是打开文件句柄,然后用指针的方式读取的.,这里看php手册:
复制代码 代码如下:

$d = dir("/etc/php5");
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
echo $entry."\n";
}
$d->close();
?>

输出:

Handle: Resource id #2
Path: /etc/php5
.
..
apache
cgi
cli

文件的属性也非常重要,文件属性包括创建时间,最后修改时间,所有者,文件组,类型,大小等.

下面我们重点谈文件操作.


三、文件操作

● 读文件

首先是一个文件看能不能读取(权限问题),或者存在不,我们可以用is_readable函数获取信息.:
复制代码 代码如下:

$file = 'dirlist.php';
if (is_readable($file) == false) {
die('文件不存在或者无法读取');
} else {
echo '存在';
}
?>

判断文件存在的函数还有file_exists(下面演示),但是这个显然无is_readable全面.,当一个文件存在的话可以用
复制代码 代码如下:

$file = "filelist.php";
if (file_exists($file) == false) {
die('文件不存在');
}
$data = file_get_contents($file);
echo htmlentities($data);
?>

但是file_get_contents函数在较低版本上不支持,可以先创建文件的一个句柄,然后用指针读取全部:

$fso = fopen($cacheFile, 'r');
$data = fread($fso, filesize($cacheFile));
fclose($fso);

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

$data = implode('', file($file));

● 写文件

和读取文件的方式一样,先看看是不是能写:
复制代码 代码如下:


$file = 'dirlist.php';
if (is_writable($file) == false) {
die("我是鸡毛,我不能");
}
?>

能写了的话可以使用file_put_contents函数写入:
复制代码 代码如下:

$file = 'dirlist.php';
if (is_writable($file) == false) {
die('我是鸡毛,我不能');
}
$data = '我是可鄙,我想要';
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('无法打开缓存文件.');//trigger_error
return false;
}
if(!flock($fso,LOCK_EX)){//LOCK_NB,排它型锁定
$this->warns('无法锁定缓存文件.');//trigger_error
return false;
}
if(!fwrite($fso,$pagedata)){//写入字节流,serialize写入其他格式
$this->warns('无法写入缓存文件.');//trigger_error
return false;
}
flock($fso,LOCK_UN);//释放锁定
fclose($fso);
return true;
}

● 复制,删除文件

php删除文件非常easy,用unlink函数简单操作:
复制代码 代码如下:

$file = 'dirlist.php';
$result = @unlink ($file);
if ($result == false) {
echo '蚊子赶走了';
} else {
echo '无法赶走';
}
?>

即可.

复制文件也很容易:
复制代码 代码如下:

$file = 'yang.txt';
$newfile = 'ji.txt'; # 这个文件父文件夹必须能写
if (file_exists($file) == false) {
die ('小样没上线,无法复制');
}
$result = copy($file, $newfile);
if ($result == false) {
echo '复制记忆ok';
}
?>

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

● 获取文件属性

我说几个常见的函数:
获取最近修改时间:
复制代码 代码如下:

$file = 'test.txt';
echo date('r', filemtime($file));
?>

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

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

$owner = posix_getpwuid(fileowner($file));

(非window系统),ileperms()获取文件的权限,
复制代码 代码如下:

$file = 'dirlist.php';
$perms = substr(sprintf('%o', fileperms($file)), -4);
echo $perms;
?>

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

复制代码 代码如下:

// 输出类似:somefile.txt: 1024 bytes
$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';
?>

获取文件的全部信息有个返回数组的函数stat()函数:
复制代码 代码如下:

$file = 'dirlist.php';
$perms = stat($file);
var_dump($perms);
?>

那个键对应什么可以查阅详细资料,此处不再展开.

四、结束语

上面我简要的总结了一下几个文件操作,如果您熟练掌握以上列出的函数,已经在操作的时候没什么大的问题,php文件操作的函数变化比较快,现在已经非常强大了,文件这部分也是学习php非常重要的一部分,希望不要忽略.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 파일 작업 함수 예: 파일 마지막 수정 시간 PHP 파일 작업 함수 예: 파일 마지막 수정 시간 Jun 21, 2023 am 11:43 AM

PHP는 널리 사용되는 서버측 프로그래밍 언어로 강력한 파일 작업 기능을 갖추고 있으며 파일의 최종 수정 시간도 파일 작업의 일반적인 요구 사항입니다. 따라서 이 기사에서는 PHP 파일 작업 함수의 예, 즉 파일의 마지막 수정 시간을 가져오는 방법을 살펴보겠습니다. filemtime() 함수 사용하기 PHP는 파일의 마지막 수정 타임스탬프를 반환하는 filemtime()이라는 내장 함수를 제공합니다. 타임스탬프는 1970년 1월 UNIX 시대의 타임스탬프입니다.

PHP 파일 연산 기능 예시: 파일 삭제 PHP 파일 연산 기능 예시: 파일 삭제 Jun 20, 2023 am 09:13 AM

PHP는 웹 개발에 널리 사용되는 오픈 소스 프로그래밍 언어입니다. PHP에서 파일 작업은 매우 일반적인 작업 중 하나입니다. PHP는 파일 읽기 및 쓰기, 생성 및 삭제와 같은 작업에 사용할 수 있는 풍부한 파일 작업 기능을 제공합니다. 이 기사에서는 PHP 파일 작업 기능인 파일 삭제의 예를 소개합니다. PHP에서는 unlink() 함수를 사용하여 파일을 삭제할 수 있습니다. 이 함수는 삭제할 파일의 경로를 나타내는 문자열 매개변수를 허용합니다. 예를 들어, 다음 코드는

PHP를 사용하여 간단한 파일 관리 시스템을 작성하는 방법 PHP를 사용하여 간단한 파일 관리 시스템을 작성하는 방법 Sep 24, 2023 pm 02:04 PM

PHP를 사용하여 간단한 파일 관리 시스템을 작성하는 방법 서문: 인터넷의 급속한 발전으로 우리는 일상생활에서 점점 더 다양한 파일을 접하게 되었으며, 이러한 파일을 효과적으로 관리하는 것이 특히 중요해졌습니다. 일반적으로 사용되는 서버측 스크립팅 언어인 PHP는 간단하고 효율적인 파일 관리 시스템을 구축하는 데 도움이 될 수 있습니다. 이 기사에서는 PHP를 사용하여 기본 기능을 갖춘 파일 관리 시스템을 작성하는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. 1. 기본 환경 구축 파일 관리 시스템 작성을 시작하기 전에 우리는

PHP 파일 작업 기능 예: 디렉터리 탐색 PHP 파일 작업 기능 예: 디렉터리 탐색 Jun 21, 2023 am 10:04 AM

PHP는 웹 개발, 특히 서버 측 개발에 널리 사용되는 매우 인기 있는 프로그래밍 언어입니다. 파일 작업은 웹 개발의 필수 부분입니다. PHP는 다양한 파일 작업 기능 중 하나인 디렉터리 탐색을 소개합니다. 디렉터리 순회는 파일 시스템의 디렉터리를 순회하고 디렉터리에서 파일과 하위 디렉터리를 얻는 것을 의미합니다. 웹 개발에서 디렉토리 탐색은 사이트 맵 생성, 파일 리소스 관리 등의 기능에 자주 사용되며 웹사이트 취약점 탐지 및 기타 측면에도 사용될 수 있습니다. 다음으로 예제를 사용하여 P를 학습하겠습니다.

파일 및 폴더 작업에 PHP를 사용하는 방법 파일 및 폴더 작업에 PHP를 사용하는 방법 Sep 05, 2023 pm 06:48 PM

PHP를 사용하여 파일 및 폴더 작업을 구현하는 방법 PHP는 강력한 파일 및 폴더 작업 기능으로 인해 널리 사용되는 서버 측 스크립팅 언어입니다. 이 기사에서는 PHP를 사용하여 생성, 읽기, 쓰기, 복사, 삭제 및 이름 바꾸기를 포함하여 파일 및 폴더에 대한 일반적인 작업을 구현하는 방법을 자세히 소개합니다. 폴더 만들기 PHP에서는 mkdir() 함수를 사용하여 새 폴더를 만들 수 있습니다. 이 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 생성할 폴더의 경로이고 두 번째 매개변수는

PHP 파일 작업을 위한 일반 함수 PHP 파일 작업을 위한 일반 함수 Jun 16, 2023 pm 01:15 PM

PHP는 웹 개발 분야에서 널리 사용되는 오픈 소스 프로그래밍 언어입니다. 웹 개발에 있어서 파일 조작은 필수적인 부분이므로 PHP의 파일 조작 기능을 능숙하게 다루는 것이 매우 중요합니다. 이 글에서는 PHP 파일 작업에 일반적으로 사용되는 몇 가지 기능을 소개합니다. fopen() fopen() 함수는 파일이나 URL을 열고 파일 포인터를 반환하는 데 사용됩니다. 여기에는 파일 이름과 열기 방법이라는 두 가지 매개변수가 있습니다. 열기 모드는 "r"(읽기 전용 모드), "w"(쓰기 모드), "a"일 수 있습니다.

PHP 파일 기능에 대한 자세한 설명: 파일 읽기, 쓰기 및 작동 기능 구현 PHP 파일 기능에 대한 자세한 설명: 파일 읽기, 쓰기 및 작동 기능 구현 Nov 20, 2023 pm 01:17 PM

PHP는 웹 개발에 널리 사용되는 고성능 스크립트 언어입니다. PHP에서 파일 작업은 매우 일반적이고 중요한 기능입니다. 이 글에서는 독자들이 파일의 읽기, 쓰기, 조작 기능을 깨닫는 데 도움이 되도록 PHP에서 파일 기능을 사용하는 방법을 자세히 소개합니다. 1. 파일 열기 및 닫기 PHP에서는 파일을 여는 데 fopen 함수가 사용됩니다. $file=fopen("file path", "open mode") where, file path.

PHP 파일 작업 기능 예시: 파일 복사 PHP 파일 작업 기능 예시: 파일 복사 Jun 20, 2023 pm 12:55 PM

웹 개발에서 파일 작업은 매우 일반적인 요구 사항이며, PHP는 이러한 요구 사항을 충족하기 위해 다양한 파일 작업 기능을 제공하는 매우 강력한 언어입니다. 그 중 파일 복사도 흔히 사용되는 기능 중 하나입니다. 이 기사에서는 PHP 파일 작업 기능 중 파일 복사 기능을 소개하고 예제 코드를 제공합니다. 먼저 PHP의 파일 복사 기능을 살펴보겠습니다. 두 가지 주요 메서드가 있습니다: copy()와 file_put_contents(). 그 중 copy() 함수는

See all articles