ホームページ > バックエンド開発 > PHPチュートリアル > Zend Framework を使用してファイルのアップロードを管理する_PHP チュートリアル

Zend Framework を使用してファイルのアップロードを管理する_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:38:57
オリジナル
1191 人が閲覧しました

この記事では、人気の Zend フレームワークを使用して、アップロードするファイルを簡単に受信、確認、処理できる独自のファイル アップロード メカニズムを作成する方法を詳しく紹介します。

1. はじめに

YouTube でビデオを管理する場合でも、SlideShare で PowerPoint プレゼンテーションを共有する場合でも、オープンソースの電子商取引プラットフォーム Magento を使用してオンライン ストアで商品画像を更新する場合でも、私たちは皆、Web ベースのファイル アップロード機能を使用します。しかし、この機能は具体的にどのように機能するのでしょうか? ファイルはローカル マシンからリモート サーバー にどのように転送されるのでしょうか? この記事では、人気の Zend フレームワークを使用して、簡単に実行できる独自のファイル アップロード メカニズムを作成する方法を説明します。アップロードするファイルを受信、確認、処理します。

2. ファイルのアップロードを処理するように PHP を設定します

PHP 自体は Web フォームを通じてファイルのアップロードを完了できますが、標準の PHP コードを使用する場合でも、Zend フレームワークを使用してファイルのアップロードを管理する場合でも、PHP の関連機能に直接影響する構成ディレクティブを検出するために時間を費やす必要があります。これらの手順には次のようなものがあります。

  • file_uploads: このディレクティブは、PHP のファイルアップロード機能を有効にします。デフォルトでは、このディレクティブは有効になっています。
  • upload_max_filesize: このディレクティブは、アップロードするファイルの最大サイズを定義します。デフォルトでは、このディレクティブは 2M に設定されています。
  • upload_tmp_dir: このディレクティブは、PHP がアップロードするファイルを一時的に保存するディレクトリを定義します。ファイルは、最終的な宛先に渡される前に、ここに一時的に保存されます。デフォルトでは、このディレクティブは値を割り当てません。つまり、PHP はシステムのデフォルト値を使用します。たとえば、多くの Linux ディストリビューションの一時ディレクトリは /tmp です。 post_max_size: POST データに許可される最大サイズを設定します。 PHP のデフォルトの post_max_size は 2M です。
  • max_execution_time: ファイルのアップロードとはあまり関係がありませんが、このディレクティブは PHP スクリプトの実行時間を定義するため、PHP のファイル アップロード機能において重要な役割を果たします。サイズが特に大きいファイルの場合、ファイル
  • server
  • への転送に長い時間がかかる可能性があるため、このディレクティブのデフォルト値を 30 秒から 60 秒、さらには 90 秒に変更することを検討できます。
3. ファイルアップロードフォームを作成します

以下では、ローカル コンピューターのファイル システムを参照し、アップロードするファイルを決定するために使用できるサンプル Web フォームを作成します。この例は単純にして、図 1 のようなファイル アップロード フォームを作成してみます。

図 1 単純なファイルアップロードフォーム

このフォームの作成方法は、以前に作成した他のフォームと似ていますが、若干の違いがあります。このフォームの作成に使用される HTML コードをリスト 1 に示します。 Zend Framework の規則に従って、このフォームを、admin という名前のコントローラのアップロード アクションの一部である、upload.phtml という名前のビューに配置します。

=" /admin/upload"> <p> どの ファイルをアップロードしますか?<br />
<
入力タイプ=ファイル
名前=ビデオアップロードサイズ
=40/>p> <p> <入力タイプ
=
"送信"名前

=
"送信"
クラス="送信 "="ビデオをアップロード" /> p> フォーム>

リスト 1 ファイルアップロードフォームの HTML コード

このフォームには、特別な注意が必要なコードが 2 つあります:

  1. enctype="multipart/form-data": Web フォームを使用して大量のバイナリ データを送信する場合は、このフォーム属性を使用する必要があります。スプレッドシートやビデオなどのファイルには大量のバイナリ データが含まれているため、ファイル アップロード フォームを作成するときにこの属性を含める必要があります。
  2. <入力タイプ="ファイル"="video-upload"

    www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486448.html技術記事この記事では、人気の Zend フレームワークを使用して、アップロードするファイルを簡単に受信、確認、処理できる独自のファイル アップロード メカニズムを作成する方法を詳しく紹介します。 ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート