ホームページ バックエンド開発 PHPチュートリアル PHP ファイルのアップロード フォームは drupal code_PHP チュートリアルから抽出されています

PHP ファイルのアップロード フォームは drupal code_PHP チュートリアルから抽出されています

Jul 21, 2016 pm 03:31 PM
drupal php アップロード コード コピー 書類 形状

drupal ファイルアップロードフォームの例

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

function Upload_form() {
$form = array();
// この #attribute が存在しない場合、アップロードは送信時に失敗します
$form['#attributes']['enctype'] = 'multipart/form-data';
$form['file_upload'] = array(
'#title' => t('ファイルのアップロード'),
'#type' => 'ファイル',
);
$form['submit_upload'] = array(
'#type' => 'submit',
'#value' => '送信'
) ;
return $form
}
$validators = array();
$file = file_upload' $validators, $ dest);
//$file は、アップロードが存在しない場合、または $dest ディレクトリが書き込み可能でない場合は 0 になります
if ($file != 0) {
$file-> ;filepath; / / ファイルの相対パス
}
else {
form_set_error('myform', t("Failed to save the file."))
}
}



PHP ファイルアップロード関数のコード例チュートリアル

PHP Web サイトで開発された、PHP プログラムにファイルのアップロード機能を実装する方法は、初心者にとって常にトピックでした。また、画像のアップロードなど、ファイルアップロード機能は一般的に便利です。今日は、PHP 初心者が学ぶのに適した、具体的なコード例と詳細な注釈に基づいた PHP ファイルアップロードコードの書き方を紹介します。 PHP コード例では、主に画像のアップロードについて説明しています。プログラムを理解した後、関連するファイルの種類を変更して、他のファイルのアップロード機能を実現できます。 プログラミング環境
PHP5.2.4、基本的にPHP4.3以上であればこのコードが利用可能です
準備作業
upload_tmp_dir項目を確認してください
PHP開発環境を自分で構築する場合、ファイルアップロードプログラムを書く前にphpを編集する必要があります.ini ファイルで、ファイルをサーバーにアップロードするときに一時フォルダーを設定するために使用される、upload_tmp_dir オプション (upload_tmp_dir = E:/phpos/uploads など) を見つけて編集し、Apache を再起動します。 PHP 開発環境で確実なワンクリック インストール パッケージが使用されている場合、通常、upload_tmp_dir が設定されており、phpinfo() 関数を使用して構成を確認することもできます。
アップロードファイルを記述し、ファイルアップロードフォームを設定します



コードをコピーします
コードは次のとおりです:
submit" value=" ファイルをアップロード">



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



コードをコピー

コードは次のとおりです:
function Uploadfile($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'); .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("ファイルのコピーに失敗しました。再アップロードしてください");
switch($error)
{
case 0:
return;
case 1:
die("アップロードされたファイルが php の .ini の Upload_max_filesize オプションで制限された値を超えています");
ケース 2:
die("アップロードされたファイルのサイズが HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています");
ケース 3:
die("ファイルの一部のみがアップロードされました" );
ケース 4:
die("ファイルはアップロードされていません");
}
}


パラメータの説明
$type,$name,$size,$error,$tmp_name は、グローバル変数 $_FILES の関連変数に対応します。つまり:
$_FILES['userfile']['type']: MIME タイプファイル (必須) ブラウザは、画像タイプ「image/gif」などのこの情報をサポートします。
$_FILES['userfile']['name']: クライアント ファイルの元の名前。
$_FILES['userfile']['size']: アップロードされたファイルのサイズ (バイト単位)。
$_FILES['userfile']['tmp_name']: ファイルのアップロード後にサーバーに保存される一時ファイル名。
$_FILES['userfile']['error']: ファイルのアップロードに関連するエラー コード、つまり
値: 0: エラーは発生せず、ファイルは正常にアップロードされました。
値: 1: アップロードされたファイルは、php.ini の Upload_max_filesize オプション制限の値を超えています。
値: 2: アップロードされたファイルのサイズが、HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています。
値: 3: ファイルの一部のみがアップロードされました。
値: 4: ファイルはアップロードされませんでした。
$ext: アップロードファイルの拡張子
$targetname: ファイルがアップロードされた後の最終的なファイル名
$upload_dir: 相対パスを使用してアップロードするディレクトリ
注:
3行目~6行目: 画像ファイルのサイズを設定しますこのコードは画像ファイルのアップロード プログラムであるため、PNG、GIF、JEPG などのすべての画像タイプが 2 つの配列にリストされます。
17行目〜24行目: ファイルが空の場合、サイズは0に等しく、画像ファイルの拡張子または種類が一致しない場合は飛び出します。
26 行目: move_uploaded_file 関数の機能は、upload_tmp_dir で設定されたサーバー上の一時ディレクトリ内のファイルを、$file_path で指定されたファイルに移動することです。対象のファイルが既に存在する場合、対象のファイルは上書きされます。複数のファイルをアップロードするにはどうすればよいですか?たとえば、同時に 3 つのファイルをアップロードするには、


コード を次のように変更するだけです。


に変更します。
コードをコピーします

コードは次のとおりです:
これに応じて、この関数を呼び出すとき、$_FILES['userfile']['name'][0] は最初のファイルの関連ファイル情報を表します。ファイルなど 同様に、他の場合にも同じことが当てはまります。
まとめ
この関数は、PHP ファイルアップロードの最も単純なコアコードです。画像アップロードはその 1 つであり、他の種類のファイルアップロード関数を実現するには、$FILE_MIMES 配列と $FILE_EXTS 配列の関連情報を変更または拡張するだけで済みます。関数の周囲には、必要に応じて他の関連コードを記述し、データベースとの関連付けなどの他の機能を実現できます。


http://www.bkjia.com/PHPjc/322934.html

www.bkjia.com

tru​​e

技術記事 drupal ファイルのアップロード フォームの例は次のようにコピーされます: function Upload_form() { $form = array(); // この #attribute が存在しない場合、アップロードは送信時に失敗します $form['#attri...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

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

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

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

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

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

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles