私はフォームバッチファイルを開発しなければならなかったこのコードを持っています。それは古いシステムだった。正確なタイトルがない配列を検索する
次のコードは、./wp-content/uploads/webvideos/
をスキャンし、MP4拡張子を持つすべてのファイルをリストしています。それは素晴らしい作品ですが、私は結果をフィルタリングする必要があります。
$post_title = html_entity_decode(get_the_title());
は、WORDPRESSポストのタイトルです。例えば、この場合には、次のとおりV000-TEST READフィルタはALL
- V001-TEST READ ALL V000-TEST READの以下のバリエーションをフィルタリングすることができなければならないALL
- V002-TEST READ ALL
- V003 -TEST READ ALL
- V004- TESTのREAD ALL
- V005- TEST READ ALL
- V006-TEST READ ALL - いくつかの追加情報
- V007-TEST READ ALL - 余分な情報のための
- V008-TEST READ ALL - - 常に存在します。この作業は複雑BLAのBLA ABAK(19283) です
- V009-TEST READ ALL - 最終バージョン
あなたが見ることができるように、同じまま唯一のものはタイトルです。 テストリードALL
私はどこから始めるべきか分かりません。 PHPは私が歩いていく道ではありませんが、学習しています。 refferenceとして
$path = "./wp-content/uploads/webvideos/";
$webdir = site_url()."/wp-content/uploads/webvideos/";
$webdirclean = site_url();
$post_title = html_entity_decode(get_the_title());
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS));
$files = array();
$notAllowedExtension = array('jpg', 'vtr', 'html', 'htm');
foreach($iterator as $file){
if(!in_array($file->getExtension(), $notAllowedExtension) && !$file->isDir())
$files[filemtime($file->getPathname())] = $file->getPathname();
}
ksort($files);
// Filter Array based on name, including varation name
$files = array_filter($files, function($post_title)
{
return preg_match('#^V\d{3}\s*-\s*$post_title(\s*-\s*[^\s].+)?$#', $post_title);
});
echo '<h2>After filter</h2>';
echo implode('<br>', $files);
//echo "<pre>" . print_r($files, true) . "</pre>";
foreach($files as $file => $date){
$title=$files[$file];
$cleantitle = basename($title, ".mp4");
if($i==$autoplay) $file_main = $title;
$output .= "" . PHP_EOL .
"<tr>
<td><a href=\"javascript:loadVideo('$webdirclean$title')\"> $cleantitle (Click Me)</a>
</td>
<td>NA</td>
</tr>"
. PHP_EOL;
$i++;
}
、と私はそれが何か良いであればわからない、ここで私は必要なものをした前に私が作ったバッチコードがあります。
rem Separate file name in parts delimited by "-. "
rem and use each part to test the element in folder array
set "name=%file_name%"
:nextPart
for /F "tokens=1* delims=-. " %%a in ("%name%") do (
if not defined folder[%%a] (
set "name=%%b"
goto nextPart
) else (
set "folder_path=!folder[%%a]!"
goto pathFound
)
)
rem Search the elements of folder array in the file_name
for /F "tokens=2,3 delims=[]=" %%a in ('set folder[') do (
if "!file_name:%%a=!" neq "%file_name%" (
set "folder_path=%%b"
goto pathFound
)
)
echo ERROR: Folder path not found
素晴らしい何コードの一部。私は今それをテストしています。 !!!!ありがとう、あなたMidas!私はすべてのバリエーションを試しています。 – Arthor
こんにちは@ミダス、私は自分の知識で最高のコードを取り入れました。過去4時間試してみました。しかし、それが正しいかどうかはわかりません。さらに、 '$ files'はスクリプトの残りの部分が機能するのに必要なファイルの完全なアドレスを持っています。私はそれをどのように統合するかについてはあまりよく分かりません。どんな援助も大歓迎です。ありがとうございました – Arthor
また、サイドノートとして、.mp4と.mp3の拡張が問題を引き起こすかどうかはわかりません。ありがとうございました – Arthor