php -- 文件操作(创建、复制、移动、删除)

创建

文件夹

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )

参数

pathname

目录的路径。

mode

默认的 mode 是 0777,意味着最大可能的访问权。有关 mode 的更多信息请阅读 chmod() 页面。

注意:mode 在 Windows 下被忽略。

  也许想用八进制数指定模式,也就是说该数应以零打头。模式也会被当前的 umask 修改,可以用 umask() 来改变。

recursive(递归)

Allows the creation of nested directories specified in the pathname.

允许嵌套目录中指定的路径创造。

context

Note: 在 PHP 5.0.0 中增加了对上下文(Context)的支持。有关上下文(Context)的说明参见 Streams。

若指定目录不存在,则创建之,返回true;若指定目录存在,则创建失败,返回false

文件

bool touch ( string $filename [, int $time = time() [, int $atime ]] )

参数

filename

要设定的文件名。

time

要设定的时间。如果没有提供参数 time 则会使用当前系统的时间。

atime

如果给出了这个参数,则给定文件的访问时间会被设为 atime,否则会设置 为time。如果没有给出这两个参数,则使用当前系统时间。

若指定文件不存在,则创建之,返回true;若指定文件存在,则创建失败,返回false

对于创建来说,文件和文件夹是一样的。如:

用mkdir创建文件夹“abc”,而如果之前目录中已经有“abc”的文件了,则创建失败

用touchr创建文件“abc”,而如果之前目录中已经有“abc”的文件夹了,则创建失败

复制

bool copy ( string $source , string $dest [, resource $context ] )

将文件拷贝到dest(必须是文件,不能是路径(文件夹)

若是不存在,则写入;目标路径下的文件若是存在,则覆盖写入

移动

方法一、直接调用移动的方法rename

bool rename ( string $oldname , string $newname [, resource $context ] )

移动文件或文件夹

可以进行跨磁盘分区重命名文件

相当于剪切

对于$newname路径中已经存在该路径(文件夹)的,则不进行移动;

对于$newname路径中已经存在该路径(文件)的,则覆盖移动;

方法二、先复制,再删除原来的目录(文件),也能达到移动的目的(费时间)

删除

文件夹

bool rmdir ( string $dirname [, resource $context ] )

尝试删除 dirname 所指定的目录该目录必须是空的,而且要有相应的权限。 失败时会产生一个 E_WARNING 级别的错误

参数

dirname

目录的路径。

context

Note: 在 PHP 5.0.0 中增加了对上下文(Context)的支持。有关上下文(Context)的说明参见 Streams。

文件

bool unlink ( string $filename [, resource $context ] )

删除 filename。和 Unix C 的 unlink() 函数相似。 发生错误时会产生一个 E_WARNING 级别的错误。

参数

filename

文件的路径。

context

Note: 在 PHP 5.0.0 中增加了对上下文(Context)的支持。有关上下文(Context)的说明参见 Streams。

时间: 2024-10-04 13:06:33

php -- 文件操作(创建、复制、移动、删除)的相关文章

Linux_文件及文件夹[创建][复制][移动][删除][重命名]

一.文件/文件夹创建 1.文件的创建 touch , vi/vim/nano , ... 语   法: touch [-acfm][-d <日期时间>][-r <参考文件或目 录>][-t <日期时间>] [--help] [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时 间][文件或目录...] 补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间. 参 数:  -a或–

C#操作文件、文件夹(复制、删除、新增、设置只读)-技术&amp;分享

C#操作文件.文件夹(复制.删除.新增.设置只读)-技术&分享 using System; using System.IO; using System.Windows; using System.Windows.Documents; using System.Xml; namespace WorkItemCreateBussiness.HzClass { public class HzFile { /// <summary> /// 删除指定文件夹下的所有文件和子文件夹 /// <

SHFileOperation()函数主要对文件夹的四种操作:复制,删除,移动,重命名

//SHFileOperations的操作,pathFrom接受变量传值时老是出错,手工在字符串后面加2个'\0',就可以了,如果是直接手写路径,微软库自动作此处理了 bool gAppSHFileOperation(const QString& pathFrom, const QString& pathTo, const QString& title, const int flags) { // flags为传入的操作:复制,删除,移动,重命名 TCHAR wcFrom[MAX_

javascript数组操作(创建、元素删除、数组的拷贝)

这篇文章主要介绍了javascript数组操作,包括创建.元素的访问.元素删除.数组的拷贝等操作,还有其它示例,需要的朋友可以参考下 1.数组的创建 复制代码 代码如下: var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创

PHP 文件夹操作「复制、删除、查看大小」迭代实现

"既然递归能很好的解决,为什么还要用迭代呢"?主要的原因还是效率问题-- 递归的概念是函数调用自身,把一个复杂的问题分解成与其相似的多个子问题来解决,可以极大的减少代码量,使得程序看起来非常优雅. 由于系统要为每次函数调用分配运行空间,并使用压栈予以记录.在函数调用结束后,系统需要释放空间,并弹栈恢复断点.所以递归的消耗还是比较大的. 即使语言设计时已经将函数调用优化的极度完美,达到可以忽略递归造成的资源浪费,但是递归的深度仍然会受到系统栈容量的限制,否则将会抛出 StackOverf

IOS Plist文件操作之写入/读取/删除

写入数据到plist文件   //获取路径对象     NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);     NSString *path = [pathArray objectAtIndex:0];     //获取文件的完整路径     NSString *filePatch = [path stringByAppendingPathC

python shutil 文件(夹)的复制、删除、移动、压缩和解压

高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中 import shutil shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w')) shutil.copyfile(src, dst)拷贝文件 shutil.copyfile('f1.log', 'f2.log') #目标文件无需存在 shutil.copymode(src, ds

节点操作-创建并添加&amp;删除节点&amp;替换&amp;克隆节点

<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>DOM增删改查</title> <style type="text/css"> div{ border:#306 1px solid; width:200px; height:30px; margin:10px; } #div

通过系统服务设置程序为开机自启动——系统服务操作(创建/启动/停止/删除)

// 0 创建服务 1 启动服务 2 停止服务 3 删除服务 BOOL CStartSelfDlg::SystemServiceOperate(char *lpszDriverPath, int iOperateType) { BOOL bRet = TRUE; char szName[MAX_PATH] = { 0 }; strcpy_s(szName, lpszDriverPath); // 过滤掉文件目录,获取文件名 PathStripPathA(szName); SC_HANDLE sh

批处理bat实现创建、复制、删除文件及文件夹

转自:http://blog.csdn.net/linda1000/article/details/10221285 1 建bat文件自动执行复制,删除命令. 例1:以下是复制cd.dll文件至windows\system32的bat文件内容: copy cd.dll %windir%\system32 例2:下面一行是卸载windows\system32目录中的cd.dll,即把上面复制的文件删除: del %windir%\system32\cd.dll 例3:删除download文件夹中的