Maison php教程 php手册 利用Zend框架管理文件上载

利用Zend框架管理文件上载

Jun 13, 2016 am 10:37 AM
zend 介绍 使用 创建 利用 如何 nous 框架 详细

本文将向读者详细介绍如何使用流行的Zend框架来创建我们自己的文件上传机制,该机制能够轻而易举地接收、确认和处理要上传的文件。

  一、简介

  无论是管理YouTube上的视频、在SlideShare上共享PowerPoint演示文稿,还是使用开源电子商务平台Magento更新在线商店中的商品图像,我们都有用到基于web的文件上传功能。但是,这个功能到底是如何工作的呢?文件是如何从本地机器传送到远程服务器的?本文将向读者详细介绍如何使用流行的Zend框架来创建我们自己的文件上传机制,该机制能够轻而易举地接收、确认和处理要上传的文件。

  二、配置处理文件上载的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脚本的执行时间。对于尺寸特别大的文件来说,可能需要很长的时间才能传输到文件服务器,所以可以考虑将这个伪指令的默认值即30秒改为60乃至90秒。

  三、创建文件上载表单

  下面我们将创建一个Web表单示例,它能够用来浏览本地计算机的文件系统以及确定要上传的文件。我们将尽力使该示例保持简单,创建的文件上载表单的外观如图1所示。


图1 一个简单的文件上载表单

  这个表单的创建方式跟我们之前创建的其他表单大同小异,只是有一些轻微的区别。用于创建这个表单的HTML代码如清单1所示。按照Zend框架的惯例,我们将这个表单放入名为upload.phtml的视图中,它是名为admin的控制器中动作upload的一部分。

form enctype="multipart/form-data" method="post" action="/admin/upload">
  
    
p>
      What
file would you like to upload?br />
      
input type="file" name="video-upload" size="40" />
    
p>
  
    
p>
      
input type="submit" name="submit" class="submit" value="Upload Video" />
    
p>
  
  
form>

清单1 文件上载表单的HTML代码

  在这个表单中,有两处代码需要格外注意:

  1. enctype="multipart/form-data":当我们使用Web表单发送大量的二进制数据的时候,就应该使用这个表单属性。因为诸如电子表格以及视频等文件中含有大量的二进制数据,所以创建文件上载表单时应该包含这个属性。
  2.  input type="file" name="video-upload

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment évaluer la rentabilité du support commercial des frameworks Java Comment évaluer la rentabilité du support commercial des frameworks Java Jun 05, 2024 pm 05:25 PM

L'évaluation du rapport coût/performance du support commercial pour un framework Java implique les étapes suivantes : Déterminer le niveau d'assurance requis et les garanties de l'accord de niveau de service (SLA). L’expérience et l’expertise de l’équipe d’appui à la recherche. Envisagez des services supplémentaires tels que les mises à niveau, le dépannage et l'optimisation des performances. Évaluez les coûts de support commercial par rapport à l’atténuation des risques et à une efficacité accrue.

Introduction détaillée des fonctions du Samsung S24ai Introduction détaillée des fonctions du Samsung S24ai Jun 24, 2024 am 11:18 AM

2024 est la première année des téléphones mobiles IA. De plus en plus de téléphones mobiles intègrent plusieurs fonctions IA. Grâce à la technologie intelligente IA, nos téléphones mobiles peuvent être utilisés plus efficacement et plus facilement. Récemment, la série Galaxy S24 lancée au début de l’année a encore une fois amélioré son expérience d’IA générative. Jetons un coup d’œil à l’introduction détaillée des fonctions ci-dessous. 1. Autonomisation profonde de l'IA générative. La série Samsung Galaxy S24 a apporté de nombreuses applications intelligentes grâce à l'autonomisation du Galaxy AI. Ces fonctions sont profondément intégrées à Samsung One UI6.1, permettant aux utilisateurs d'obtenir une expérience intelligente pratique à tout moment, de manière significative. améliorer les performances des téléphones mobiles. La fonction de recherche instantanée lancée par la série Galaxy S24 est l’un des points forts. Il suffit aux utilisateurs d’appuyer longuement.

Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Jun 06, 2024 pm 12:41 PM

La courbe d'apprentissage d'un framework PHP dépend de la maîtrise du langage, de la complexité du framework, de la qualité de la documentation et du support de la communauté. La courbe d'apprentissage des frameworks PHP est plus élevée par rapport aux frameworks Python et inférieure par rapport aux frameworks Ruby. Par rapport aux frameworks Java, les frameworks PHP ont une courbe d'apprentissage modérée mais un temps de démarrage plus court.

Qu'est-ce que Bitget Launchpool ? Comment utiliser Bitget Launchpool ? Qu'est-ce que Bitget Launchpool ? Comment utiliser Bitget Launchpool ? Jun 07, 2024 pm 12:06 PM

BitgetLaunchpool est une plateforme dynamique conçue pour tous les passionnés de cryptomonnaie. BitgetLaunchpool se démarque par son produit unique. Ici, vous pouvez miser vos jetons pour débloquer plus de récompenses, notamment des parachutages, des rendements élevés et une généreuse cagnotte exclusive aux premiers participants. Qu’est-ce que BitgetLaunchpool ? BitgetLaunchpool est une plate-forme de crypto-monnaie où les jetons peuvent être mis en jeu et gagnés selon des termes et conditions conviviaux. En investissant du BGB ou d'autres jetons dans Launchpool, les utilisateurs ont la possibilité de recevoir des airdrops gratuits, des gains et de participer à de généreux pools de bonus. Les revenus des actifs gagés sont calculés en T+1 heures, et les récompenses sont basées sur

Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Jun 06, 2024 am 10:53 AM

Le framework PHP léger améliore les performances des applications grâce à une petite taille et une faible consommation de ressources. Ses fonctionnalités incluent : une petite taille, un démarrage rapide, une faible utilisation de la mémoire, une vitesse de réponse et un débit améliorés et une consommation de ressources réduite. Cas pratique : SlimFramework crée une API REST, seulement 500 Ko, une réactivité élevée et un débit élevé.

Comparaison des performances des frameworks Java Comparaison des performances des frameworks Java Jun 04, 2024 pm 03:56 PM

Selon les benchmarks, pour les petites applications hautes performances, Quarkus (démarrage rapide, mémoire faible) ou Micronaut (TechEmpower excellent) sont des choix idéaux. SpringBoot convient aux grandes applications full-stack, mais a des temps de démarrage et une utilisation de la mémoire légèrement plus lents.

Bonnes pratiques en matière de documentation du framework Golang Bonnes pratiques en matière de documentation du framework Golang Jun 04, 2024 pm 05:00 PM

La rédaction d'une documentation claire et complète est cruciale pour le framework Golang. Les meilleures pratiques incluent le respect d'un style de documentation établi, tel que le Go Coding Style Guide de Google. Utilisez une structure organisationnelle claire, comprenant des titres, des sous-titres et des listes, et fournissez la navigation. Fournit des informations complètes et précises, notamment des guides de démarrage, des références API et des concepts. Utilisez des exemples de code pour illustrer les concepts et l'utilisation. Maintenez la documentation à jour, suivez les modifications et documentez les nouvelles fonctionnalités. Fournir une assistance et des ressources communautaires telles que des problèmes et des forums GitHub. Créez des exemples pratiques, tels que la documentation API.

Comment choisir le meilleur framework Golang pour différents scénarios d'application Comment choisir le meilleur framework Golang pour différents scénarios d'application Jun 05, 2024 pm 04:05 PM

Choisissez le meilleur framework Go en fonction des scénarios d'application : tenez compte du type d'application, des fonctionnalités du langage, des exigences de performances et de l'écosystème. Frameworks Go courants : Gin (application Web), Echo (service Web), Fibre (haut débit), gorm (ORM), fasthttp (vitesse). Cas pratique : construction de l'API REST (Fiber) et interaction avec la base de données (gorm). Choisissez un framework : choisissez fasthttp pour les performances clés, Gin/Echo pour les applications Web flexibles et gorm pour l'interaction avec la base de données.

See all articles