php文件,文件夹(目录)操作函数总结
php文件,文件夹(目录)操作函数总结
本文章来给各位同学总结一下在php中一些常用的文件夹/文件目录操作函数总结,这些只是简单的介绍一些基础方法做个备注。
1、创建目录(mkdir)
bool mkdir (string $pathname [,int $mode [,bool $recursive [,resource $context ]]] )
<?php mkdir("/path/to/my/dir", 0777); //成功返回true,失败返回false;
2、判断文件是否存在(file_exist)
bool file_exists (string $filename )
<?php $filename = '/path/to/phpernote.txt'; echo file_exists($filename)?'文件存在':'文件不存在';
3、检查指定的文件是否是目录,一般也用于判断目录是否存在(is_dir)
bool is_dir (string $filename )
<?php var_dump(is_dir('a_file.txt'));// 输出false var_dump(is_dir('wwwroot/phpernote')); //相对当前目录检查wwwroot/phpernote目录是否存在,存在输出true,不存在输出false var_dump(is_dir('..')); //输出true
注释:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。
4、判断给定文件名是否为一个正常的文件 (is_file)
bool is_file ( string $filename )
<?php var_dump(is_file('a_file.txt'));//true var_dump(is_file('/usr/bin/'));//false
5、锁定或释放文件(flock)
bool flock ( string $filename, string $lock [,mix $block] )
lock 参数可以是以下值之一:
要取得共享锁定(读取的程序),将 lock 设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1)。
要取得独占锁定(写入的程序),将 lock 设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2)。
要释放锁定(无论共享或独占),将 lock 设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3)。
如果不希望 flock() 在锁定时堵塞,则给 lock 加上 LOCK_NB(PHP 4.0.1 以前的版本中设置为 4)。
block 可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。
提示:可以通过 fclose() 来释放锁定操作,代码执行完毕时也会自动调用。例如:
<?php $file = fopen("test.txt","w+"); // 排它性的锁定 if (flock($file,LOCK_EX)){ if(is_writable($file)) fwrite($file,"www.phpernote.com 总结的文章"); // 解锁 flock($file,LOCK_UN); }else{ echo "锁定文件失败!"; } fclose($file);
6、判断给定文件名是否为一个符号连接 (is_link)
bool is_link ( string $filename )
<?php var_dump(is_link("a.lnk")); //输出true
注释:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。
7、删除目录 (rmdir)此函数仅删除空目录(rmdir)
bool rmdir ( string $dirname )
<?php var_dump(rmdir("/usr/local/a")); //当a为空目录删除成功,a为非空目录删除失败
8、删除文件(unlink)
bool unlink ( string $filename )
<?php while(is_file($wwwphpernotecom) == TRUE){ chmod($wwwphpernotecom, 0666);//设置可读取,可写入权限 unlink($wwwphpernotecom); }
9、获取文件或目录的权限(fileperms)
mix fileperms ( filename )
<?php //若成功,则返回文件的访问权限。若失败,则返回 false echo fileperms("test.txt");//输出:33206
以八进制值返回权限
<?php echo substr(sprintf("%o",fileperms("test.txt")),-4);//输出:1777
提示:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。
10、获取指定文件或目录的类型(filetype)
mix filetype ( filename )
若成功,则返回 7 种可能的值(fifo char dir block link file unknown)。若失败,则返回 false。例如:
<?php echo filetype("test.txt");//输出:file
提示:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。
11、读取目录文件(opendir readir closedir)
resource opendir ( string $path [,resource $context ] )
打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。
string readdir ( resource $dir_handle )
返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
void closedir ( resource $dir_handle )
关闭由 dir_handle 指定的目录流。流必须之前被 opendir() 所打开。
void rewinddir ( resource $dir_handle )
将 dir_handle 指定的目录流重置到目录的开头。
下面是一个完整的读取目录文件的示例:
<?php $dir = "/etc/php5/"; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "文件名: $file : 文件类型: " . filetype($dir . $file) . "\n"; } closedir($dh); } }
12、重命名文件或目录(rename)
bool rename ( oldname, newname, context )
<?php //将当前目录下的子目录a下面的文件1.gif重命名为2.gif rename('/a/1.gif', '/a/2.gif');
说明:对目录也一样。系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE。
如果要移动文件或目录,只要将重命名后的路径设置为新的路径就可以了,例如:
<?php //将当前目录下的子目录a下面的文件1.gif,移动到当前目录下的子目录b,并且重命名为2.gif rename('/a/1.gif', '/b/2.gif'); //注意:如果目录b不存在,就会移动失败
13、复制(拷贝)文件(copy)
bool copy ( source, destination )
<?php //将当前目录下的子目录a下面的文件1.gif,复制到当前目录下的子目录b,并命名为2.gif copy('/a/1.gif', '/b/1.gif');
说明:不能对目录进行此项操作;如果目标文件(上面的/b/1.gif)已经存在,原来的文件将被覆盖;如果要移动文件的话,请使用 rename() 函数。
14、获取目录的可用空间(disk_free_space)
disk_free_space ( directory )
<?php echo disk_free_space("C:");//输出:209693288558
15、判断指定的文件是否可写(is_writable 或 is_writeable)
bool is_writable ( file )
说明:如果文件存在并且可写则返回 true;file 参数可以是一个允许进行是否可写检查的目录名;本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。例如:
<?php $file = "test.txt"; //或者:$file = 'd:\wwwroot\phpernote\'; echo is_writable($file)?'可写':'不可写';
16、以读写(w+)模式建立一个具有唯一文件名的临时文件(tmpfile)
resource tmpfile()
<?php $temp = tmpfile(); fwrite($temp, "Testing, www.phpernote.com"); //倒回文件的开头 rewind($temp); //从文件中读取 1k echo fread($temp,1024); //删除文件 fclose($temp); //文件会在关闭后(用 fclose())自动被删除,或当脚本结束后 //输出:Testing, www.phpernote.com
17、改变文件权限模式(chmod)
bool chmod ( file [,mode] )
mode 可选。规定新的权限。该参数由 4 个数字组成:
第一个数字永远是 0
第二个数字规定所有者的权限
第二个数字规定所有者所属的用户组的权限
第四个数字规定其他所有人的权限
可能的值(如需设置多个权限,请对下面的数字进行总计):
1 - 执行权限
2 - 写权限
4 - 读权限
<?php // 所有者可读写,其他人没有任何权限 chmod("test.txt",0600); // 所有者可读写,其他人可读 chmod("test.txt",0644); // 所有者有所有权限,其他所有人可读和执行 chmod("test.txt",0755); // 所有者有所有权限,所有者所在的组可读 chmod("test.txt",0740);
18、扩展函数,方法
php读取目录并列表显示目录中的文件的函数
PHP删除目录及目录下所有文件
更多文件,文件夹(目录)函数请参考:
PHP Filesystem 函数
您可能感兴趣的文章
- php清空(删除)指定目录下的文件,不删除目录文件夹的方法
- php判断文件或目录(文件夹)是否存在
- linux chmod(文件或文件夹权限设定)命令参数及用法详解
- MySQL通过命令形式导入与导出.sql文件备份数据操作的实例
- php提取身份证号码中的生日日期以及验证是否为未成年人的函数
- PHP向文件写入或追加数据
- linux删除文件,文件夹命令rm 命令详解
- Linux命令文件目录管理cat命令

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
