関数 is_uploaded_file
関数 is_uploaded_file は、指定されたファイルが
POSTリクエストを通じてアップロードされたかどうかを確認します。
ファイルを扱う際のセキュリティ上の重要なチェックです。
この関数は1つのパラメータ - チェック対象ファイルへのパス - を受け取り、
ファイルがPOSTを通じてアップロードされた場合は true を返し、
それ以外の場合は false を返します。
構文
is_uploaded_file(string $filename): bool
例
フォームを通じてファイルがアップロードされたかどうかを確認します:
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo 'File was uploaded via HTTP POST';
} else {
echo 'File was NOT uploaded via HTTP POST';
}
?>
例
move_uploaded_file との組み合わせでの使用:
<?php
$temp_file = $_FILES['userfile']['tmp_name'];
$target_file = 'uploads/' . $_FILES['userfile']['name'];
if (is_uploaded_file($temp_file)) {
move_uploaded_file($temp_file, $target_file);
echo 'file uploaded successfully';
} else {
echo 'possible file upload attack';
}
?>
関連項目
-
関数
move_uploaded_file,
アップロードされたファイルを安全に移動します -
関数
file_exists,
ファイルの存在を確認します (アップロードされたもののみではありません) -
関数
tmpfile,
一時ファイルを作成します -
関数
is_file,
ファイルかどうかをチェックします