この記事では、人気の 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 秒に変更することを検討できます。
以下では、ローカル コンピューターのファイル システムを参照し、アップロードするファイルを決定するために使用できるサンプル Web フォームを作成します。この例は単純にして、図 1 のようなファイル アップロード フォームを作成してみます。

このフォームの作成方法は、以前に作成した他のフォームと似ていますが、若干の違いがあります。このフォームの作成に使用される HTML コードをリスト 1 に示します。 Zend Framework の規則に従って、このフォームを、admin という名前のコントローラのアップロード アクションの一部である、upload.phtml という名前のビューに配置します。
入力タイプ=「ファイル
」名前=「ビデオアップロード」サイズ
=「40」 「/>」 p> p> 入力タイプ
="送信"名前
="送信"
クラス="送信 "値="ビデオをアップロード" /> p> フォーム>
リスト 1 ファイルアップロードフォームの HTML コード
このフォームには、特別な注意が必要なコードが 2 つあります:
- enctype="multipart/form-data": Web フォームを使用して大量のバイナリ データを送信する場合は、このフォーム属性を使用する必要があります。スプレッドシートやビデオなどのファイルには大量のバイナリ データが含まれているため、ファイル アップロード フォームを作成するときにこの属性を含める必要があります。
-
入力タイプ="ファイル"名="video-upload"

译者 | 布加迪审校 | 孙淑娟目前,没有用于构建和管理机器学习(ML)应用程序的标准实践。机器学习项目组织得不好,缺乏可重复性,而且从长远来看容易彻底失败。因此,我们需要一套流程来帮助自己在整个机器学习生命周期中保持质量、可持续性、稳健性和成本管理。图1. 机器学习开发生命周期流程使用质量保证方法开发机器学习应用程序的跨行业标准流程(CRISP-ML(Q))是CRISP-DM的升级版,以确保机器学习产品的质量。CRISP-ML(Q)有六个单独的阶段:1. 业务和数据理解2. 数据准备3. 模型

thinkphp是国产框架。ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。

如何利用GitLab进行项目文档管理一、背景介绍在软件开发过程中,项目文档是非常重要的资料,不仅能够帮助开发团队了解项目的需求和设计,还能提供给测试团队和客户参考。为了方便项目文档的版本控制和团队协作,我们可以利用GitLab来进行项目文档管理。GitLab是一个基于Git的版本控制系统,除了支持代码管理,还可以管理项目文档。二、GitLab环境搭建首先,我

什么是 celery这次我们来介绍一下 Python 的一个第三方模块 celery,那么 celery 是什么呢? celery 是一个灵活且可靠的,处理大量消息的分布式系统,可以在多个节点之间处理某个任务; celery 是一个专注于实时处理的任务队列,支持任务调度; celery 是开源的,有很多的使用者; celery 完全基于 Python 语言编写;所以 celery 本质上就是一个任务调度框架,类似于 Apache 的 airflow,当然 airflow 也是基于 Python

已安装Microsoft.NET版本4.5.2、4.6或4.6.1的MicrosoftWindows用户如果希望Microsoft将来通过产品更新支持该框架,则必须安装较新版本的Microsoft框架。据微软称,这三个框架都将在2022年4月26日停止支持。支持日期结束后,产品将不会收到“安全修复或技术支持”。大多数家庭设备通过Windows更新保持最新。这些设备已经安装了较新版本的框架,例如.NETFramework4.8。未自动更新的设备可能

如果你在Windows11上安装了2022年5月累积更新,你可能已经注意到你一直使用的许多应用程序都不像以前那样工作了。强制性安全更新KB5013943正在使某些使用.NET框架的应用程序崩溃。在某些情况下,用户会收到错误代码:0xc0000135。可选更新中报告了类似的问题,但并不普遍。随着2022年5月的更新,该错误似乎已进入生产渠道,这次有更多用户受到影响。崩溃在使用.NETFramework的应用程序中很常见,Discord或MicrosoftTeams等

如何在Zend框架中使用ACL(AccessControlList)进行权限控制导言:在一个Web应用程序中,权限控制是至关重要的一项功能。它可以确保用户只能访问其有权访问的页面和功能,并防止未经授权的访问。Zend框架提供了一种方便的方法来实现权限控制,即使用ACL(AccessControlList)组件。本文将介绍如何在Zend框架中使用ACL

PHP实现框架:ZendFramework入门教程ZendFramework是PHP开发的一种开源网站框架,目前由ZendTechnologies维护,ZendFramework采用了MVC设计模式,提供了一系列可重用的代码库,服务于实现Web2.0应用程序和Web服务。ZendFramework深受PHP开发者的欢迎和推崇,拥有广泛


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック



