Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用php更改当前文件后创建文件备份_Php - Fatal编程技术网

如何在使用php更改当前文件后创建文件备份

如何在使用php更改当前文件后创建文件备份,php,Php,我正在用php处理文件信息,我想知道是否可以执行以下操作: 文件更改后,获取文件的内容, 然后将该文件的内容放入另一个文件中 有点像“备份系统”,所以一旦您对文件进行更改,就会创建一个重复的文件,对原始文件的每次更改都会覆盖重复的文件 我试图将时间存储在数据库中,这可能吗?我不知道要测试什么 更清楚地说,我想做以下几点: 在服务器上更改指定文件后执行脚本使用版本控制系统,也许?问题有点不清楚。根据文件的修改方式,您的解决方案会有所不同。我的意思是,如果文件是通过FTP修改的,或者是通过终端直接在

我正在用php处理文件信息,我想知道是否可以执行以下操作:

文件更改后,获取文件的内容, 然后将该文件的内容放入另一个文件中

有点像“备份系统”,所以一旦您对文件进行更改,就会创建一个重复的文件,对原始文件的每次更改都会覆盖重复的文件

我试图将时间存储在数据库中,这可能吗?我不知道要测试什么

更清楚地说,我想做以下几点:
在服务器上更改指定文件后执行脚本

使用版本控制系统,也许?

问题有点不清楚。根据文件的修改方式,您的解决方案会有所不同。我的意思是,如果文件是通过FTP修改的,或者是通过终端直接在服务器上修改的,那么我猜你可以经常运行cronjob来检查文件上的修改日期。如果上一次文件更改时间大于之前记录的文件更改时间,则运行脚本进行复制(见下文)。如果文件修改是由php脚本作为用户操作的结果来完成的,那么您只需运行另一个脚本来进行备份(见下文)

跟踪文件的上次修改时间
因此,您询问了如何存储上次修改时间以进行比较。您可以使用数据库来实现这一点,但如果这是您唯一需要存储的东西,并且不会有太多文件,那么您可能希望使用文本文件路径。在这两种情况下,基本alg。将文件表设置为filepath、modification\u time(unix时间)列。每次检查文件系统的更改时,请保留当前修改时间。将其与上一个mod时间(如果存在)进行比较。如果没有以前的mod时间,或者数据库中没有该文件的记录,请使用当前mod时间添加/更新记录,并将此文件作为一个文件包含,以便运行复制脚本

复制脚本

一旦发现文件已更改,要执行的脚本实际上只是对php的复制函数的调用,以确保您拥有对复制目标的权限

那不行,这更像是一个学习练习。这难道不包括在我的系统上安装某种形式的软件吗?