Maison développement back-end tutoriel php 利用文件函数实现PHP文件上传案例分析_PHP教程

利用文件函数实现PHP文件上传案例分析_PHP教程

Jul 15, 2016 pm 01:26 PM
php 上传 你是 函数 利用 实现 文件 案例分析 电脑

如果你是一个电脑爱好者,不知道PHP的话你就太落伍了,如果想知道PHP的相关知识,我们就一起来看看PHP文件上传的实现吧。这段代码分为两个文件,一个为upload.html,一个是upload.php。

<ol class="dp-xml">
<li class="alt"><span><strong><font color="#006699"><span class="tag"><span class="tag-name">form</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">enctype</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"multipart/form-data"</font></span><span> </span><span class="attribute"><font color="#ff0000">action</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"upload.php"</font></span><span> </span><span class="attribute"><font color="#ff0000">method</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"post"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span> </span></span></li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">input</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">type</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"hidden"</font></span><span> </span><span class="attribute"><font color="#ff0000">name</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"max_file_size"</font></span><span> </span><span class="attribute"><font color="#ff0000">value</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"100000"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span> </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">input</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">name</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"userfile"</font></span><span> </span><span class="attribute"><font color="#ff0000">type</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"file"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span>  </span>
</li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">input</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">type</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"submit"</font></span><span> </span><span class="attribute"><font color="#ff0000">value</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"上传文件"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span> </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">form</span><span class="tag">></span></font></strong><span> </span>
</li>
</ol>
Copier après la connexion

其中,请注意
这是一个标签,我们要实现文件的上传,必须指定为multipart/form-data,否则服务器将不知道要干什么。值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的PHP文件上传最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。
<ol class="dp-xml">
<li class="alt"><span><span>upload.php  </span></span></li>
<li class="">
<span>$</span><span class="attribute"><font color="#ff0000">f</font></span><span>=&$HTTP_POST_FILES['Myfile'];  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">dest_dir</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">'uploads'</font></span><span>;//设定上传目录  </span>
</li>
<li class="">
<span>$</span><span class="attribute"><font color="#ff0000">dest</font></span><span>=$dest_dir.'/'.date("ymd")."_".$f['name'];//设置文件名为日期加上文件名避免重复  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">r</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">move_uploaded_file</font></span><span>($f['tmp_name'],$dest);  </span>
</li>
<li class=""><span>chmod($dest, 0755);//设定上传的文件的属性 </span></li>
</ol>
Copier après la connexion

或者

<ol class="dp-xml"><li class="alt"><span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">copy</span></font></strong><span>($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);</span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span></span></li></ol>
Copier après la connexion

以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称为 userfile(名称可随意命名)

<ol class="dp-xml">
<li class="alt"><span><span>$_FILES['userfile']['name']//客户端机器文件的原名称。  </span></span></li>
<li class=""><span>$_FILES['userfile']['type'] //文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。  </span></li>
<li class="alt"><span>$_FILES['userfile']['size']// 已上传文件的大小,单位为字节。  </span></li>
<li class=""><span>$_FILES['userfile']['tmp_name'] //文件被上传后在服务端储存的临时文件名。  </span></li>
<li class="alt"><span>$_FILES['userfile']['error'] //和该文件上传相关的错误代码 </span></li>
</ol>
Copier après la connexion

PHP文件上传值分析:
◆值:0; 没有错误发生,文件上传成功。
◆值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
◆值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
◆值:3; 文件只有部分被上传。
◆值:4; 没有文件被上传。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446562.htmlTechArticle如果你是一个电脑爱好者,不知道PHP的话你就太落伍了,如果想知道PHP的相关知识,我们就一起来看看PHP文件上传的实现吧。这段代码分为...
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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Comment affiner la profondeur localement Comment affiner la profondeur localement Feb 19, 2025 pm 05:21 PM

Le réglage fin local des modèles de classe Deepseek est confronté au défi des ressources informatiques insuffisantes et de l'expertise. Pour relever ces défis, les stratégies suivantes peuvent être adoptées: quantification du modèle: convertir les paramètres du modèle en entiers à faible précision, réduisant l'empreinte de la mémoire. Utilisez des modèles plus petits: sélectionnez un modèle pré-entraîné avec des paramètres plus petits pour un réglage fin local plus facile. Sélection des données et prétraitement: sélectionnez des données de haute qualité et effectuez un prétraitement approprié pour éviter une mauvaise qualité des données affectant l'efficacité du modèle. Formation par lots: pour les grands ensembles de données, chargez les données en lots de formation pour éviter le débordement de la mémoire. Accélération avec GPU: Utilisez des cartes graphiques indépendantes pour accélérer le processus de formation et raccourcir le temps de formation.

Tutoriel de génération d'images Deepseek Tutoriel de génération d'images Deepseek Feb 19, 2025 pm 04:15 PM

Deepseek: un puissant outil de génération d'images AI! Deepseek lui-même n'est pas un outil de génération d'images, mais sa puissante technologie de base fournit un support sous-jacent pour de nombreux outils de peinture d'IA. Vous voulez savoir comment utiliser Deepseek pour générer des images indirectement? Veuillez continuer à lire! Générez des images avec des outils AI basés sur Deepseek: Les étapes suivantes vous guideront pour utiliser ces outils: Lancez l'outil de peinture AI: Recherchez et ouvrez un outil de peinture AI basé sur Deepseek (par exemple, recherchez "Simple IA"). Sélectionnez le mode de dessin: sélectionnez "Drawing AI" ou fonction similaire et sélectionnez le type d'image en fonction de vos besoins, tels que "Anime Avatar", "paysage"

Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Mar 05, 2025 pm 05:57 PM

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

URL du site officiel de Binance Entrée du site officiel de Binance dernière entrée authentique URL du site officiel de Binance Entrée du site officiel de Binance dernière entrée authentique Dec 16, 2024 pm 06:15 PM

Cet article se concentre sur les dernières entrées authentiques sur le site officiel de Binance, y compris le site officiel de Binance Global, le site officiel américain et le site officiel de l'Académie. En outre, l'article fournit également des étapes d'accès détaillées, notamment l'utilisation d'un appareil de confiance, la saisie de l'URL correcte, la revérification de l'interface du site Web, la vérification du certificat du site Web, le contact du support client, etc., pour garantir un accès sûr et fiable à Binance. plate-forme.

Comment demander Deepseek Comment demander Deepseek Feb 19, 2025 pm 04:39 PM

La précision de la recherche de Deepseek dépend de la manière de poser des questions. Pour obtenir des résultats idéaux, la question doit contenir les éléments clés suivants: Sujet clair: Objectifs d'informations spécifiques spécifiques. Angles spécifiques: coupez le sujet dans une perspective spécifique. Formulaire de sortie attendu: définissez le type de résultat souhaité (résumé, analyse, liste, etc.).

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

See all articles