0
我正在嘗試創建一個json文件,並且每次使用此命令進入頁面。PHP僅在文檔啓動時創建備份,會話
if(!isset($_SESSION['backup_active']))
{
$backup=fopen("backup/".time().".json", "w");
fwrite($backup, json_encode($list)); fclose($backup);
$_SESSION['backup_active']=true;
}
這裏做的事情是,當我進入頁面後它會創建備份,但是當我刪除備份文件,然後再試一次它不會產生一個新的。 創建我的備份文件後,我想調用它並將其放入另一個.json文件中,如下所示。
session_start();
if(isset($_SESSION['backup_active']))
{
$fBackup= "backup";
$lastFile= end($fBackup);
$listFile = file_get_contents($lastFile);
file_put_contents('list.json', $listFile);
session_destroy();
}
但是,這似乎並不奏效。我使用end()方法取得最後製作的備份文件,然後將其放入list.json文件中。
任何人都可以幫助我解決這個問題嗎?
_「當我刪除備份文件,然後重試它不會創建一個新的」_ - 你是什麼意思,你手動刪除文件,然後再次調用第一個腳本?那可能是因爲你的會話仍然包含值爲'true'的條目'backup_active',所以你的腳本不會做任何事情。 – CBroe
手動!因爲當我刷新頁面它不會創建另一個備份,所以我試圖手動刪除它,看看它是否會創建另一個,但它不會,該文件夾保持空 –
在代碼中的一個問題,你不能用end()函數從目錄中取出最後一個文件,您必須使用這裏提到的腳本之一在答案中 - http://stackoverflow.com/questions/1491020/php-get-the-latest-file-addition-in-a-directory – Armen