2011-08-19 75 views
2

我已經使用shell find命令列出目錄中的所有文件。它工作正常。我想列出所有在指定日期後修改的文件已經使用這個命令執行find命令來創建日期後修改的所有文件

$command='touch -date "2010-01-18" /home;find.-newer /home '; 
$Getfile = exec($command,$ret,$output); 

但它不是事先工作.Thanks

+2

什麼是不工作,shell命令或'exec()'調用?你得到了什麼?一個錯誤,沒有輸出等... – DaveRandom

+1

我敢打賭,如果你在shell中使用* that * find命令,它不會工作。 – hakre

+0

-newer參數需要一個指向文件的指針,作爲哪個文件應該顯示爲更新的參考。請參閱手冊頁'最近修改的文件比文件更新。如果file是一個符號鏈接,並且-H選項或-L選項有效,那麼它始終使用它指向的文件的修改時間。「因此,您必須觸摸文件而不是目錄,並使用此文件作爲參考,或者你只是省略了觸摸並使用'-cmin <自上次修改以來的分鐘數量'',因爲你可以使用php來計算特定日期的分鐘數。 – Rufinus

回答

0

查找特定日期之後修改過的文件在當前目錄

$command='touch -t 201001180000 /tmp/timestamp; find . -type f -newer /tmp/timestamp' 
+0

我可以指定另一個目錄嗎? – Warrior

+0

絕對, $ command ='touch -t 201001180000 $ path1;找到$ path2 -type f -newer $ path1' – Serith

0

您可以使用目錄查找,但是,建議語法 -

find ABSOLUTE_PATH -newer /home -type f 

.是當前工作目錄,
(在網絡環境下,可以參考DOCUMENT_ROOT + REQUEST_URI)

相關問題