【发布时间】:2014-06-17 07:59:26
【问题描述】:
我在 StackOverflow 上进行了搜索,但没有找到解决问题的方法.. 我应该创建一个目录(如果还没有的话),然后移动一个之前在这个新文件夹上创建的文件(.Zip)
- 我正确创建了 zip 文件
- 我正确创建了新目录(如果不存在)
- 我在新目录中正确移动了 zip 文件,但有时,当我必须创建文件夹并移动文件时,会创建文件夹,但不会移动文件,可能是因为之前执行了命令文件夹已创建
我尝试了以下解决方案
//create zip
Zip('editor', 'backup_'.date("d_m_Y__H_i_s").'.zip');
//create folder
mkdir('backup', 0777, true);
//move file
rename('backup_'.date("d_m_Y__H_i_s").'.zip', 'backup/backup_'.date("d_m_Y__H_i_s").'.zip');
//create zip
Zip('editor', 'backup_'.date("d_m_Y__H_i_s").'.zip');
//create folder
$ret = mkdir('backup', 0777, true);
//move file
rename('backup_'.date("d_m_Y__H_i_s").'.zip', 'backup/backup_'.date("d_m_Y__H_i_s").'.zip');
//create zip
Zip('editor', 'backup_'.date("d_m_Y__H_i_s").'.zip');
//create folder
$ret = mkdir('backup', 0777, true);
//move file
move_backup();
function move_backup(){
rename('backup_'.date("d_m_Y__H_i_s").'.zip', 'backup/backup_'.date("d_m_Y__H_i_s").'.zip');
}
更新:解决方案
@date_default_timezone_set("Europe/Rome");
$my_time = date("d_m_Y__H_i_s");
function Zip($source, $destination){
....
}
function sposto_backup($t){
rename('backup_'.$t.'.zip', 'backup/backup_'.$t.'.zip');
}
Zip('editor', 'backup_'.$my_time.'.zip');
if (!file_exists('backup')) {
$r = mkdir('backup', 0777, true);
sposto_backup($my_time);
}else{
sposto_backup($my_time);
}
【问题讨论】:
-
唯一想到的是您重复计算
date值。如果微秒是这样的,在调用之间的几分之一秒内,它会进入下一秒,那么您将使用不同的文件。 -
@Jeremy Miller 我尝试将 date() 结果保存为变量!
-
这么说,你的意思是它现在可以按预期工作,所以你有一个问题的解决方案,对吧?