0

wordpress にアップロードする 16,000 個の html ファイルのコレクションがあります。私は HTML インポート 2 を使用しています。記事の日付は 2 つの場所にあり、どちらもプラグインでは検出できません。

1.) 各ファイルのタイトルは mmddyyxxxxxxx.htm です。 2.) 日付はページ下部の段落に同じ形式で存在しますが、さまざまなテキストで囲まれています。形式: (yyyy、mm、dd)

とアイデア?

4

1 に答える 1

1

ここでの最も簡単な解決策は、インポート中に「ファイルが最後に変更された時刻にタイムスタンプを設定する」オプションを使用することです。ファイル名には日付のスタンプがあるため、簡単なスクリプトを記述してタイムスタンプを一致させることができます。これは、関数を使用して bash または PHP で実行できますtouch()

制限があるため、ファイルを使用可能なグループに分割する必要がある場合がありますglob()が、これを実現するための簡単な例を次に示します。

<?php
# change mod+access times based on filenames
$files = glob("myfiles/*.htm");
foreach( $files as $file ) {
    $temp = pathinfo( $file );      // may have relative path in it
    $name = $temp['filename'];      // just "mmddyyxxxxxxx" at this point

    // assuming date format in filenames are fixed-lengths, you can rebuild
    // timestamp to yyyy-mm-dd format with this:
    $date = sprintf("20%s-%s-%s",   // cheap trick to start years with 20
        substr( $name, 4, 2 ),
        substr( $name, 2, 2 ),
        substr( $name, 0, 2 )
    );
    $stamp = strtotime( $name );    // timestamp

    touch( $file, $stamp, $stamp ); // sets both mod + access time
}
?>

ファイル名の日付形式が固定されていない場合は、もっとクリエイティブになる必要があるかもしれません。

于 2013-09-18T15:06:27.550 に答える