PHPでファイルが動画形式かどうかを判定する方法
はじめに
PHPでファイルが動画(ビデオ)形式かどうかを判定したい場面は少なくありません。たとえば、アップロードされたファイルの拡張子をチェックし、許可された動画形式かどうかを確認するケースなどが挙げられます。ここでは、拡張子からファイルタイプを判定する基本的な方法を解説します。
まず、次のように変数に .mp4 ファイルのパスが格納されていると仮定します。
$movieFileType = "demo.mp4";
このファイルが動画形式かどうかを確認するには、explode() で「.」を区切り文字として文字列を配列に分割し、end() で配列の最後の要素(=拡張子)を取得します。その後、strtolower() で小文字に揃えてから条件式で比較します。
if(strtolower(end(explode(".", $movieFileType))) == "mp4") {
// 動画形式の場合の処理
} else {
// 動画形式でない場合の処理
}サンプルコード
<!DOCTYPE html>
<html>
<body>
<?php
$movieFileType = "demo.mp4";
if(strtolower(end(explode(".", $movieFileType))) == "mp4") {
echo "動画 ", $movieFileType, " は動画形式です。";
} else {
echo "動画 ", $movieFileType, " は動画形式ではありません。";
}
?>
</body>
</html>
実行結果
動画 demo.mp4 は動画形式です。
補足:pathinfo() を使ったより安全な方法
なお、上記のコードはPHPのバージョンによっては「Only variables should be passed by reference」というNotice(注意)が表示されることがあります。より簡潔で安全なのは、pathinfo() 関数を使う方法です。
<?php
$extension = strtolower(pathinfo($movieFileType, PATHINFO_EXTENSION));
if($extension === "mp4") {
echo "動画形式です。";
} else {
echo "動画形式ではありません。";
}
?>
また、実務レベルのファイルチェックでは、拡張子だけでなく finfo クラスなどによるMIMEタイプの検証を組み合わせることで、なりすましファイルへの対策など、より堅牢な判定が可能になります。
-
WordPressのwp-config.phpファイルを保護する方法を徹底解説
ハッカーの視点で考えてみてください。何千ものWebサイトが利用しているプラットフォームに侵入したり、複数のサイトに対してブルートフォース攻撃を仕掛けたりするのは、彼らにとって魅力的な標的です。WP-Scannerのようなオープンソースツールが出回っている現在、初心者レベルの攻撃者でも、プロフェッショナルなWordPressサイトに侵入し、悪夢のような被害をもたらすことが可能になっています。 その中でもwp-config.phpは、サイトの運命を左右する最重要ファイルの一つです。このファイルが漏洩すれば、サイト全体が危険にさらされます。本記事では、wp-config.phpファイルを安全に保護す
-
M4VをMP4に変換する方法【NoteBurnerでDRMを解除して高画質変換】
AndroidスマホやWindows PC、Xboxなどで動画を視聴するのが好きな方なら、「M4V」というファイル形式をご存じかもしれません。この動画形式はApple Inc.によって開発され、主にiTunes Storeでテレビ番組、映画、ミュージックビデオなどを公式のDRMコピープロテクト付きで保存・配信するために使用されています。ただし、M4VはQuickTimeとiTunesでしか基本的に再生できないなど、互換性に大きな制限がある点には注意が必要です。 注意: iTunes Storeで提供されているM4Vファイルには、コピープロテクト(DRM)がかかっている場合があります。プロテクト