0

Synology NAS に問題があります。00A8F700CB18()_1_20140107000224_3674.jpg のようなファイル名で写真を撮る IPcam が接続されています。

ここで、これらすべてのファイルの名前を次のように変更したいと思います: Tue 07-01-2014_11-17-26.jpg (日付と時刻を含む) そしてここにキッカーがあります: 「jhead」または「 stat -c」ですが、残念ながら、これらはSynology のオプションではありません! 単一のファイルを使用するときに機能するものを作成しました。ディレクトリ内のすべてのファイルでこのスクリプトを実行したいと思います! 助けてください、私は経験豊富な PHP プログラマーではなく、スクリプトの説明行に多くの喜びを感じています。

単一のファイルで使用できるスクリプトは次のようなものです。

<?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");
?>

どんな助けでも大歓迎です!

4

2 に答える 2

1

scandirまたはreaddir php 関数に読み込みます。

指定されたディレクトリ内の一連のファイルを読み取り、ファイル名の配列を返します。

その後、これらのファイルをループして、上記のコードを各ファイルに適用できます。

php.net の例は、使用と変更が非常に簡単です :)

于 2014-01-08T20:36:47.170 に答える
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");
}
?> 
于 2014-01-08T20:42:23.163 に答える