ホームページ >バックエンド開発 >PHPチュートリアル >アップロードがオプションであっても、ユーザーが PHP でファイルをアップロードしたかどうかを確認するにはどうすればよいでしょうか?

アップロードがオプションであっても、ユーザーが PHP でファイルをアップロードしたかどうかを確認するにはどうすればよいでしょうか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-02 19:03:02513ブラウズ

How Can You Determine if a User Has Uploaded a File in PHP, Even if the Upload is Optional?

PHP でのユーザー ファイルのアップロードの確認

アップロードがオプションである場合でも、ユーザーが PHP でファイルをアップロードしたかどうかを確認するにはどうすればよいですか?

解決策:

1. is_uploaded_file() を使用します

ファイルがアップロードされたかどうかを確認するには、

<code class="php">if(!file_exists($_FILES['myfile']['tmp_name']) || !is_uploaded_file($_FILES['myfile']['tmp_name'])) {
    echo 'No upload';
}</code>

is_uploaded_file() を使用します。これにより、ファイルが HTTP POST 経由でアップロードされたことが確認され、悪意のあるアップロードが防止されます。

2. FileUpload() メソッドを使用した FileUpload クラス

FileUpload クラスでは、fileUploaded() メソッドを実装できます。

<code class="php">public function fileUploaded()
{
    if(empty($_FILES)) {
        return false;       
    } 
    $this->file = $_FILES[$this->formField];
    if(!file_exists($this->file['tmp_name']) || !is_uploaded_file($this->file['tmp_name'])){
        $this->errors['FileNotExists'] = true;
        return false;
    }   
    return true;
}</code>

このメソッドは、POST にファイルがあるかどうかを確認します。ファイルが存在しない場合、またはアップロードされていない場合は false を返します。ファイルが見つからない場合はエラー フラグを設定し、ファイルが正常にアップロードされた場合は true を返します。

以上がアップロードがオプションであっても、ユーザーが PHP でファイルをアップロードしたかどうかを確認するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。