PHP は POST メソッドを使用して単一ファイルおよび複数ファイルをアップロードします
この機能により、ユーザーはテキスト ファイルとバイナリ ファイルをアップロードできます。 PHP の認証機能とファイル操作機能を使用すると、誰にアップロードを許可するか、アップロード後のファイルの処理方法を完全に制御できます。
PHP は、RFC-1867 標準に準拠する任意のブラウザ (Netscape Navigator 3 以降、パッチ適用された Microsoft Internet Explorer 3 以降を含む) からアップロードされたファイルを受け入れることができます。
注: 関連する設定
については、php.ini の file_uploads、upload_max_filesize、upload_tmp_dirpost_max_size、および max_input_time 設定オプションを参照してください。
例 #1 ファイル アップロード フォーム
次のようにファイル アップロードをサポートする特別なフォームを作成できます: 上の例の
<!-- The data encoding type, enctype, MUST be specified as below --> <form enctype="multipart/form-data" action="__URL__" method="POST"> <!-- MAX_FILE_SIZE must precede the file input field --> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <!-- Name of input element determines name in $_FILES array --> Send this file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form>
__URL__ は、実際の PHP ファイルを指すように置き換える必要があります。
MAX_FILE_SIZE 隠しフィールド (単位はバイト) はファイル入力フィールドの前に配置する必要があり、その値は受信したファイルの最大サイズです。これはブラウザに対する推奨事項であり、PHP もこれをチェックします。この設定はブラウザ側で簡単にバイパスできるため、この機能を使用して大きなファイルをブロックすることは期待しないでください。実際、PHP 設定の最大アップロード ファイル サイズは期限切れになりません。ただし、この項目をフォームに追加することをお勧めします。これにより、ユーザーが大きなファイルのアップロードを待って時間を費やした後に、ファイルが大きすぎてアップロードに失敗したというトラブルを回避できます。
注:
ファイルアップロードフォームの属性が enctype="multipart/form-data" であることを確認してください。そうでない場合、ファイルはアップロードできません。
グローバル変数 $_FILES は、PHP 4.1.0 以降に存在します (以前のバージョンでは $HTTP_POST_FILES に置き換えられました)。この配列には、アップロードされたすべてのファイルに関する情報が含まれています。
上記の例の$_FILES配列の内容は以下の通りです。上の例に示すように、ファイル アップロード フィールドの名前は userfile であると仮定します。名前は何でも構いません。
$_FILES['userfile']['name']
クライアント マシン ファイルの元の名前。
$_FILES['userfile']['type']
ファイルの MIME タイプ (ブラウザーがこの情報を提供する場合)。例は「画像/gif」です。ただし、この MIME タイプは PHP 側ではチェックされないため、鵜呑みにしないでください。
$_FILES['userfile']['size']
アップロードされたファイルのサイズ (バイト単位)。
$_FILES['userfile']['tmp_name']
ファイルのアップロード後にサーバーに保存される一時ファイル名。
$_FILES['userfile']['error']
ファイルのアップロードに関連するエラー コード。このプロジェクトは PHP バージョン 4.2.0 で追加されました。
ファイルがアップロードされると、php.ini の Upload_tmp_dir が別のパスに設定されていない限り、デフォルトでサーバーのデフォルトの一時ディレクトリに保存されます。サーバー側のデフォルトの一時ディレクトリは、PHP 実行環境の環境変数 TMPDIR を変更することでリセットできますが、PHP スクリプト内で putenv() 関数を実行して設定しても効果はありません。この環境変数は、アップロードされたファイルに対して他の操作も実行されていることを確認するために使用することもできます。
例 #2 ファイルのアップロードを有効にする
詳細については、関数 is_uploaded_file() と move_uploaded_file() を確認してください。次の例では、フォームによって提供されるファイルのアップロードを処理します。
<?php // 在PHP4.1.0版本以前, 应该使用$HTTP_POST_FILES来替代$_FILES. $uploaddir = '/var/www/uploads/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); echo '<pre class="brush:php;toolbar:false">'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } echo 'Here is some more debugging info:'; print_r($_FILES); print ""; ?>
アップロードされたファイルを受け入れる PHP スクリプトは、次にファイルに対してどのような操作を行うかを決定するために、論理的に必要なチェックを実装する必要があります。たとえば、$_FILES['userfile']['size'] 変数を使用して大きすぎるまたは小さすぎるファイルを除外したり、$_FILES['userfile']['type'] 変数を使用してファイル タイプと特定の規格が一致しないファイルは除外されますが、この値はクライアントによって完全に制御され、PHP 側ではチェックされないため、これは一連のチェックの最初のステップとしてのみ考慮してください。 PHP 4.2.0 以降では、$_FILES['userfile']['error'] 変数を使用して、さまざまなエラー コードに基づいて次のステップを計画することもできます。いずれの場合も、ファイルを一時ディレクトリから削除するか、別の場所に移動してください。
フォームでアップロードされたファイルが選択されていない場合、PHP 変数 $_FILES['userfile']['size'] の値は 0 になり、$_FILES['userfile']['tmp_name'] は空になります。
ファイルが他の場所に移動されていないか、名前が変更されていない場合、ファイルはフォームリクエストの最後に削除されます。
例 #3 ファイルの配列のアップロード
PHP の HTML 配列機能は、ファイルの種類もサポートしています。
リーリー
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
