19.3.3 创建、删除和移动文件

可以使用文件系统函数创建、移动和删除文件。

首先,可以很简单地调用函数touch()来创建一个文件,或者修改文件上次被修改的时间。

其功能类似UNIX的命令touch。该函数具有如下所示的原型:


bool touch(string file,[int time[,int atime]])


如果要创建的文件已经存在,它的修改时间将会改成当前的时间,或者所给出的第二个时间参数。如果要指定时间,就应该使用时间戳格式。如果文件不存在,将创建此文件。

文件访问时间也将被修改:在默认情况下,将修改为当前的系统时间,或者在可选的atime参数中指定的时间戳。

也可以使用函数unlink()来删除一个文件(请注意,这个函数的名称不是delete——PHP中没有delete函数)。可以按如下方式使用此函数:


unlink($filename);


你可以使用函数copy()和rename()来复制和重命名(移动)文件,如下所示:


copy($source_path,$destination_path);

rename($oldfile,$newfile);


可以注意到在程序清单19-2中我们已经使用了函数copy()。

因为PHP中并没有提供move()函数,作为一个函数,rename()完成了两项操作,它可以将一个文件从一个位置移动到另一个位置。是否能够将一个文件从一个文件系统移动到另一个系统,以及当使用rename()函数时文件是否会被覆盖,这都取决于操作系统,因此我们需要检查服务器上运行结果。此外,还必须注意文件名的路径。如果有关联的话,路径所指的应该是相对脚本的地址,而不是原文件的地址。