2014-01-08 85 views
0

我的Synology NAS存在問題/挑戰。我有一個網絡攝像機連接這需要與文件名的照片,如: 00A8F700CB18()_ 1_20140107000224_3674.jpg使用PHP和創建日期重命名目錄中的所有文件

現在我想所有這些文件重命名爲類似: 星期二07-01-2014_11-17-26.jpg (包含日期&時間) 這裏是踢球者:我見過使用「jhead」或「stat -c」的(PHP)腳本,不幸的是這些是而不是 Synology上的一個選項! 我煮了一些東西,當我使用單個文件,現在我想運行這個腳本在目錄中的所有文件! 請幫忙,我不是一個經驗豐富的PHP程序員,我很喜歡在腳註中的解釋行,給我和任何人誰是這篇文章whatching一個學習曲線;)

腳本你可以使用單個文件是這樣的:

<?php 
$stat = stat('/volume1/Ipcam/_Test/00A8F700CB18()_1_20140107000223_3673.jpg'); 
$motdate = ($stat['ctime']); 
$newname = (gmdate("D d-m-Y_H-i-s", $motdate)); 
rename("/volume1/Ipcam/_Test/00A8F700CB18()_1_20140107000223_3673.jpg" . "/volume1/Ipcam/_Test/" . $newname . ".jpg"); 
?> 

任何幫助,將不勝感激!

+0

谷歌:在PHP目錄遍歷文件。你已經完成了實際的難題。 – Jessica

+0

A ....'DirectoryIterator'? – Wrikken

回答

1

讀入scandirreaddir php函數。

他們讀取指定目錄中的一堆文件並返回一組文件名。

然後,您可以遍歷這些文件並將上面的代碼應用於每個文件。

上php.net的例子是很容易使用和修改:)

0

你可以使用你的代碼的這種修改

<?php 
$dir = '/volume1/Ipcam/_Test/'; 
$files = scandir($dir); 
foreach($files as $file) { 
$stat = stat($file); 
$motdate = ($stat['ctime']); 
$newname = (gmdate("D d-m-Y_H-i-s", $motdate)); 
rename($file, $dir . $newname . ".jpg"); 
} 
?> 
相關問題