ホームページ バックエンド開発 PHPチュートリアル PHPファイルアップロードの応用と原理を詳しく解説_PHPチュートリアル

PHPファイルアップロードの応用と原理を詳しく解説_PHPチュートリアル

Jul 13, 2016 am 10:50 AM
php post アップロード いくつかの 原理 そして 応用 スキル 書類 知る 形状 詳しい説明

php でファイルをアップロードするには、いくつかのコツを知っておく必要があります。その 1 つは、フォームによって投稿されたデータが php move_uploaded_file によって受け入れられ、サーバー上の指定されたパスに保存されることです。

1.formタグのenctype属性。

2.$_FILES システム関数。 //アップロードされたコンテンツを配列に変換します。

3.move_uploaded_file関数。 //キャッシュフォルダーに保存されているアップロードファイルを指定フォルダーに移動します。

4.is_uploaded_file関数。 // 存在するかどうかを判断します。

------------------------------------------------------------

1.フォームタグ

形式:


2.$_FILES システム関数
$_FILES['name'] //クライアントによってアップロードされたファイルの元のファイル名。
$_FILES['type'] //ファイルの MIME タイプ、例: "image/gif"
$_FILES['size'] //アップロードファイルのサイズをバイト単位で指定します。
$_FILES['tmp_name'] //一時ファイル名、通常はデフォルト。
$_FILES['error'] //アップロード関連のシチュエーションコード (0: 成功、1: php.ini で設定されたサイズを超えています。2: PHP ファイルコードで指定されているサイズを超えています。3: ファイルの一部のみがアップロードされています) 4: ファイルがアップロードされていません。5: アップロードされたファイルのサイズは 0)

3.move_uploaded_file関数
アップロード後にファイルを目的の場所に移動する機能
move_uploaded_file (一時ファイル、ターゲットの場所、ファイル名;)

4.is_uploaded_file関数
MIMEタイプをアップロードするファイル関数を決定します
is_uploaded_file(MIME);

------------------------------------------------------------

例:

コードは次のとおりです コードをコピー




注意

1. ファイルに通常のフォーム情報が含まれていることをサーバーに知らせるために、フォームに enctype="multipart/form-data" を指定する必要があります。
2. アップロードされるファイルの最大長、つまりアップロードされるファイルの最大値(バイト単位で計算)を設定できるフォーム領域が必要です。これは隠し値フィールド、つまり max_file_size を設定します。その値 (値) では、アップロードされるファイルのサイズを制限することができます。これにより、ユーザーが大きなファイルがアップロードされるのを待ってから、そのファイルが大きすぎることが判明するという煩わしさを避けることができます。ただし、一般に他のユーザーはこの値をバイパスできるため、安全上の理由から、php.ini ファイルの Upload_max_filesize オプションを設定してファイルのアップロード サイズを設定することが最善です。デフォルトは 2M

です。
コードは次のとおりです コードをコピー

関数アップロードファイル($type,$name,$ext,$size,$error,$tmp_name,$targetname,$upload_dir)
{
$MAX_SIZE = 2000000;
$FILE_MIMES = array('image/pjpeg','image/jpeg','image/jpg','image/gif','image/png');
$FILE_EXTS = array('.jpg','.gif','.png','.JPG','.GIF','.PNG');

$file_path = $upload_dir.$targetname;

If(!is_dir($upload_dir))
{
if(!mkdir($upload_dir))
die("ファイル アップロード ディレクトリが存在しないため、ファイル アップロード ディレクトリを作成できません");
If(!chmod($upload_dir,0755))
die("ファイルアップロードディレクトリのアクセス許可を読み取りと書き込みに設定できません");
}

If($size>$MAX_SIZE)
die("アップロードされたファイルのサイズが指定されたサイズを超えています");

if($size == 0)
die("アップロードするファイルを選択してください");

if(!in_array($type,$FILE_MIMES) || !in_array($ext,$FILE_EXTS))
die("要件を満たすファイルタイプをアップロードしてください");

if(!move_uploaded_file($tmp_name, $file_path))
die("ファイルのコピーに失敗しました。もう一度アップロードしてください");

スイッチ($error)
{
ケース0:
戻ります;
ケース1:
die("アップロードされたファイルは、php.ini の Upload_max_filesize オプションで制限された値を超えています");
ケース 2:
die("アップロードされたファイルのサイズが、HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています");
ケース 3:
die("ファイルの一部のみがアップロードされました");
ケース4:
die("ファイルはアップロードされませんでした");
}
}

複数のファイルをアップロードするには?たとえば、同時に 3 つのファイルをアップロードします

コードは次のとおりです コードをコピー

追加するだけ


<入力名="ユーザーファイル" タイプ="ファイル">

に変更されました

<入力名="ユーザーファイル[]" タイプ="ファイル">
<入力名="ユーザーファイル[]" タイプ="ファイル">
<入力名="ユーザーファイル[]" タイプ="ファイル">

同様に、この関数を呼び出すと、$_FILES['userfile']['name'][0] は最初のファイルの関連ファイル情報を表し、以下同様になります。他のファイルについても同様です。

一部の php パフォーマンス構成。必要に応じて変更できます

max_execution_time = 30; 各 PHP ページの実行時間の最大値 (秒)、デフォルトは 30 秒です
max_input_time = 60; 各 PHP ページがデータを受信するのに必要な最大時間、デフォルトは 60 秒です
Memory_limit = 128m; 各 PHP ページによって消費される最大メモリ、デフォルトは 128M です。小さすぎると感じる場合は、大きく設定できます。 128あれば十分です。
最大実行時間 = 600
max_input_time = 600
アップロード_最大ファイルサイズ = 32m
post_max_size = 32m

ファイルサイズが制限されている場合は、次のように解決できます

php.iniを開いて、まず見つけます

file_uploads = on ; HTTP 経由でのファイルのアップロードを許可するかどうかを切り替えます。デフォルトはON、つまりオープンです

upload_tmp_dir; ファイルは、一時ファイルが保存されるサーバーにアップロードされます。

upload_max_filesize = 8m; Wangwen ビジネス、つまり、許可される最大アップロード ファイル サイズ。デフォルトは 2M です

post_max_size = 8m; は、フォーム内のすべての値を含む、PHP へのフォーム POST を通じて受信できる最大値を指します。デフォルトは8Mです

通常、上記の 4 つのパラメータを設定した後、ネットワークが正常である限り、8M 以下のファイルをアップロードしても問題ありません。

ただし、8Mを超える大きなファイルをアップロードしたい場合は、上記の4つの項目を設定するだけで確実に機能します。


さらに次のパラメータを設定します

max_execution_time = 600; 各 PHP ページの実行時間の最大値 (秒)、デフォルトは 30 秒です

max_input_time = 600; 各 PHP ページがデータを受信するのに必要な最大時間、デフォルトは 60 秒です

memory_limit = 8m; 各 PHP ページが消費する最大メモリ、デフォルトは 8M です

上記のパラメータを変更すると、ネットワークで許可されている通常の状況で大きなファイルをアップロードできます

最大実行時間 = 600
max_input_time = 600
メモリ制限 = 32m
file_uploads = オン
アップロード_tmp_dir = /tmp
アップロード_最大ファイルサイズ = 32m
post_max_size = 32m

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632639.html技術記事 PHP でファイルをアップロードするには、いくつかのコツを知っておく必要があります。その 1 つは、フォームによって投稿されたデータが PHP move_uploaded_file によって受け入れられ、サーバー上の指定されたパスに保存されることです。 ...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHP対Python:違いを理解します PHP対Python:違いを理解します Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHP対その他の言語:比較 PHP対その他の言語:比較 Apr 13, 2025 am 12:19 AM

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

See all articles