PHPファイルアップロード機能の実装を5ステップで詳しく解説_PHPチュートリアル
1. フォーム パーツ
では、ユーザーが HTML フォームの宣言にアップロード属性を追加する必要があります:
enctype = multipart/form-data
フォームのメソッドは POST である必要があります
フォーム オプション MAX_FILE_SIZE隠しフィールドは制限のために使用されます。アップロード ファイル サイズ。ファイル フォーム要素の前に配置する必要があります。単位はバイトです。
例:
2. アップロードされたファイルの処理
アップロード時に、PHP はスーパーグローバル配列 $_FILES にあるファイルに関する情報の配列を受け取ります。
例: フォームのファイル入力ボックスの名前が Upload_file の場合、ファイルに関するすべての情報は配列 $_FILES[upload_file] に含まれます。
例: 顧客は次のように「aaa.jpg」画像配列値をアップロードしました:
name "p5pp.jpg" アップロード時のファイルの名前
type "image/jpeg" ファイルの種類
tmp_name "/tmp/phpjksdf " サーバー側の一時 ファイル名
error アップロード エラーの戻り値
size 2045 ファイルの実際のサイズ
上記の配列のエラーは、次のように異なる定数値を返します:
UPLOAD_ERR_OK エラーは発生しませんでした、ファイルはアップロードに成功しました
UPLOAD_ERR_INI_SIZE ファイル サイズが PHP.INI を超えています Upload_max_filesize オプションの制限値を超えています
UPLOAD_ERR_FORM_SIZE アップロードされたファイルのサイズが HTML フォームの MAX_FILE_SIZE オプションの値を超えています。処理するプログラムで $FILES [up_file][size] の形式を確認できます
UPLOAD_ERR_PARTIAL ファイルの一部のみがアップロードされました
UPLOAD_ERR_NO_FILE ユーザーはファイルのアップロードを提供しませんでした
アップロード後の処理の具体的な例:
if(! move_uploaded_file($_FILES[f] [tmp_name],"uploads/".$_FILES[f][name].".jpg")){
echo "error";
}
関数:
move_uploaded_file はアップロードされた一時ファイルを移動しますファイルを指定されたディレクトリにコピーします
例:
move_uploaded_file (一時ファイル名、指定されたファイルパス)
is_uploaded_file は、ファイルが http Post 経由でアップロードされるかどうかを決定します
例:
if(!is_uploaded_file($_FILES[f][tmp_name])){
echoillegal;
}
3. 関連パラメータ
PHP アップロード用に設計された php.ini のパラメータ:
file_uploads ファイルのアップロードを許可するかどうか、デフォルトは ON です
upload_tmp_dir 指定されていない場合、ファイルのアップロードを防止するための一時ディレクトリシステムのデフォルトの場所を使用します。
upload_max_filesize はアップロードを許可します。 ファイルの最大サイズ (デフォルトは 2M) です。
post_max_size は、PHP が POST メソッドを使用したフォーム送信で受け入れることができるデータの最大量を制御します。この値は、upload_max_filesize
max_input_time よりも大きくなるように変更する必要があります。秒単位は、POST/GET/PUT を通じてデータを受信する時間を制限します。
memory_limit スクリプトの実行によるシステム メモリの大量使用を避けるために、PHP ではメモリ使用量の制限を定義できます。このパラメータを設定して、単一のスクリプト プログラムが使用できる最大メモリ容量を指定します。この値は、post_max_size 値よりも適切に大きくする必要があります。
max_execution_time は、スクリプトを強制終了する前に PHP が実行されるまで待機する時間を設定するために使用されます。すぐに。この 2 番目のオプションでは無限ループ スクリプトを制限できますが、この機能により、正当なアクティビティ (大きなファイルのアップロードなど) が長期間続くと操作が失敗する可能性もあります。この場合、この変数を増やすことを検討する必要があります。
4. 複数のファイルのアップロードを検討してください
$_FILES 配列を使用すると、複数のファイルを簡単にアップロードできます。 $_FILES 配列はクライアント フォームのすべてのファイル フィールドの内容を取得できるため、同じフォームでアップロードされたすべてのファイルを取得できます。
5. アップロードメモリ制限を突破する
方法 1:
php.ini のmemory_limit 値を、64M などのより大きな値に変更します
方法 2:
Apache Rewrite メソッドを使用して、memory_limit の値を動的に変更します。まず .htaccess ファイルを作成し、ファイル アップロード プログラムの現在のディレクトリに保存します。コードは次のとおりです。
php_valuememory_limit 100M
php_valuepost_max_size 30M
php_valueupload_max_filesize 30M
php_valuemax_execution_time 300
php_valuemax_input_tim 300
php_valuedisplay_errorオン
——EOF— —
上記の記事を読んだ後、お役に立てれば幸いです。 である必要があります。

ホット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 のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

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