Maison php教程 php手册 转载-ThinkPHP文件上传类的分享

转载-ThinkPHP文件上传类的分享

Jun 13, 2016 am 11:26 AM
org 上传 使用 分享 文件 de

上传类使用ORG类库包中的Net.UpdateFile类,最新版本的上传类包含的功能如下(有些功能需要结合ThinkPHP系统其他类库):

1.基本上传功能

2.支持批量上传

3.支持生成图片缩略图

4. 自定义参数上传

5.上传检测(包括大小、后缀和类型)

6.支持上传类型、附件大小、上传路径定义

7.支持哈希或者日期子目录保存上传文件

8.上传图片的安全性检测

9.支持上传文件命名规则

10. 支持对上传文件的Hash验证


在ThinkPHP中使用上传功能无需进行特别处理。例如,下面是一个带有附件上传的表单提交:

 代码如下 复制代码






 

注意表单的Form标签中一定要添加 enctype=”multipart/form-data” 文件才能上传。因为表单提交到当前模块的upload操作方法,所以我们在模块类里面添加下面的upload方法即可:

 代码如下 复制代码
Public function upload(){
import(“ORG.Net.UploadFile”);
$upload = new UploadFile(); // 实例化上传类
$upload->maxSize = 3145728 ; // 设置附件上传大小
$upload->allowExts = array(‘jpg’, ‘gif’, ‘png’, ‘jpeg’); // 设置附件上传类型
$upload->savePath = ‘./Public/Uploads/’; // 设置附件上传目录
if(!$upload->upload()) { // 上传错误 提示错误信息
$this->error($upload->getErrorMsg());
}else{ // 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
// 保存表单数据 包括附件数据
$User = M(“User”); // 实例化User对象
$User->create(); // 创建数据对象
$User->photo = $info[0]["savename"]; // 保存上传的照片 根据需要自行组装
$User->add(); // 写入用户数据到数据库
$this->success(“数据保存成功!”);
}

 

首先是实例化上传类

 代码如下 复制代码
import(“ORG.Net.UploadFile”);
$upload = new UploadFile(); // 实例化上传类

 

实例化上传类之后,就可以设置一些上传的属性(参数),支持的属性有:

maxSize: 文件上传的最大文件大小(以字节为单位)默认为-1 不限大小

savePath:文件保存路径,如果留空会取UPLOAD_PATH常量定义的路径

saveRule:上传文件的保存规则,必须是一个无需任何参数的函数名,例如可以是 time、 uniqid com_create_guid 等,但必须能保证生成的文件名是唯一的,默认是uniqid

hashType:上传文件的哈希验证方法,默认是md5_file

autoCheck:是否自动检测附件,默认为自动检测

uploadReplace:存在同名文件是否是覆盖

allowExts:允许上传的文件后缀(留空为不限制),使用数组设置,默认为空数组

allowTypes:允许上传的文件类型(留空为不限制),使用数组设置,默认为空数组

thumb:是否需要对图片文件进行缩略图处理,默认为false

thumbMaxWidth:缩略图的最大宽度,多个使用逗号分隔

thumbMaxHeight:缩略图的最大高度,多个使用逗号分隔

thumbPrefix:缩略图的文件前缀,默认为thumb_   (如果你设置了多个缩略图大小的话,请在此设置多个前缀 )

thumbSuffix:缩略图的文件后缀,默认为空   (如果你设置了多个缩略图大小的话,请在此设置多个后缀 )

thumbPath:缩略图的保存路径,留空的话取文件上传目录本身

thumbFile:指定缩略图的文件名

thumbRemoveOrigin:生成缩略图后是否删除原图

autoSub:是否使用子目录保存上传文件

subType:子目录创建方式,默认为hash,可以设置为hash或者date

dateFormat:子目录方式为date的时候指定日期格式

hashLevel:子目录保存的层次,默认为一层

以上属性都可以直接设置,例如:

 代码如下 复制代码
$upload->thumb = true
$upload->thumbMaxWidth = “50,200″
$upload->thumbMaxHeight = “50,200″

 

其中生成缩略图功能需要Image类的支持。

设置好上传的参数后,就可以调用 UploadFile类的upload方法进行附件上传,如果失败,返回false,并且用getErrorMsg方法获取错误提示信息;如果上传成功, 可以通过调用getUploadFileInfo方法获取成功上传的附件信息列表。因此getUploadFileInfo方法的返回值是一个数组,其中 的每个元素就是上传的附件信息。每个附件信息又是一个记录了下面信息的数组,包括:

key:附件上传的表单名称

savepath:上传文件的保存路径

name:上传文件的原始名称

savename:上传文件的保存名称

size:上传文件的大小

type:上传文件的MIME类型

extension:上传文件的后缀类型

hash:上传文件的哈希验证字符串

文件上传成功后,就可以通过这些附件信息来进行其他的数据存取操作,例如保存到当前数据表或者单独的附件数据表都可以。

如果需要使用多个文件上传,只需要修改表单,把

XML/HTML代码

 代码如下 复制代码

改为

XML/HTML代码

 代码如下 复制代码



或者

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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines 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 partager Quark Netdisk avec Baidu Netdisk ? Comment partager Quark Netdisk avec Baidu Netdisk ? Mar 14, 2024 pm 04:40 PM

Quark Netdisk et Baidu Netdisk sont tous deux des outils de stockage très pratiques. De nombreux utilisateurs se demandent si ces deux logiciels sont interopérables ? Comment partager Quark Netdisk avec Baidu Netdisk ? Laissez ce site présenter en détail aux utilisateurs comment enregistrer les fichiers Quark Network Disk sur Baidu Network Disk. Comment enregistrer des fichiers de Quark Network Disk vers Baidu Network Disk Méthode 1. Si vous souhaitez savoir comment transférer des fichiers de Quark Network Disk vers Baidu Network Disk, téléchargez d'abord les fichiers qui doivent être enregistrés sur Quark Network Disk, puis ouvrez le client Baidu Network Disk, sélectionnez le dossier dans lequel le fichier compressé doit être enregistré et double-cliquez pour ouvrir le dossier. 2. Après avoir ouvert le dossier, cliquez sur « Télécharger » dans le coin supérieur gauche de la fenêtre. 3. Recherchez le fichier compressé qui doit être téléchargé sur votre ordinateur et cliquez pour le sélectionner.

Quel logiciel est CrystalDiskmark ? -Comment utiliser crystaldiskmark ? Quel logiciel est CrystalDiskmark ? -Comment utiliser crystaldiskmark ? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark est un petit outil de référence pour disques durs qui mesure rapidement les vitesses de lecture/écriture séquentielles et aléatoires. Ensuite, laissez l'éditeur vous présenter CrystalDiskMark et comment utiliser crystaldiskmark~ 1. Introduction à CrystalDiskMark CrystalDiskMark est un outil de test de performances de disque largement utilisé pour évaluer la vitesse et les performances de lecture et d'écriture des disques durs mécaniques et des disques SSD (SSD). ). Performances d’E/S aléatoires. Il s'agit d'une application Windows gratuite qui fournit une interface conviviale et divers modes de test pour évaluer différents aspects des performances du disque dur. Elle est largement utilisée dans les revues de matériel.

Que faire si le code d'erreur 0x80004005 apparaît. L'éditeur vous apprendra comment résoudre le code d'erreur 0x80004005. Que faire si le code d'erreur 0x80004005 apparaît. L'éditeur vous apprendra comment résoudre le code d'erreur 0x80004005. Mar 21, 2024 pm 09:17 PM

Lors de la suppression ou de la décompression d'un dossier sur votre ordinateur, une boîte de dialogue d'invite « Erreur 0x80004005 : erreur non spécifiée » apparaît parfois. Comment devez-vous résoudre cette situation ? Il existe en fait de nombreuses raisons pour lesquelles le code d'erreur 0x80004005 est demandé, mais la plupart d'entre elles sont causées par des virus. Nous pouvons réenregistrer la DLL pour résoudre le problème. Ci-dessous, l'éditeur vous expliquera l'expérience de gestion du code d'erreur 0x80004005. . Certains utilisateurs reçoivent le code d'erreur 0X80004005 lors de l'utilisation de leur ordinateur. L'erreur 0x80004005 est principalement due au fait que l'ordinateur n'enregistre pas correctement certains fichiers de bibliothèque de liens dynamiques ou à un pare-feu qui n'autorise pas les connexions HTTPS entre l'ordinateur et Internet. Alors que diriez-vous

Comment télécharger foobar2000 ? -Comment utiliser foobar2000 Comment télécharger foobar2000 ? -Comment utiliser foobar2000 Mar 18, 2024 am 10:58 AM

foobar2000 est un logiciel qui peut écouter des ressources musicales à tout moment. Il vous offre toutes sortes de musique avec une qualité sonore sans perte. La version améliorée du lecteur de musique vous permet d'obtenir une expérience musicale plus complète et plus confortable. lire l'audio avancé sur l'ordinateur. L'appareil est transplanté sur le téléphone mobile pour offrir une expérience de lecture de musique plus pratique et efficace. La conception de l'interface est simple, claire et facile à utiliser. opérations pour démarrer rapidement. Il prend également en charge une variété de skins et de thèmes, personnalisez les paramètres en fonction de vos propres préférences et créez un lecteur de musique exclusif prenant en charge la lecture de plusieurs formats audio. Il prend également en charge la fonction de gain audio pour régler le volume. selon vos propres conditions auditives pour éviter les dommages auditifs causés par un volume excessif. Ensuite, laisse-moi t'aider

Comment transférer des fichiers de Quark Cloud Disk vers Baidu Cloud Disk ? Comment transférer des fichiers de Quark Cloud Disk vers Baidu Cloud Disk ? Mar 14, 2024 pm 02:07 PM

Quark Netdisk et Baidu Netdisk sont actuellement les logiciels Netdisk les plus couramment utilisés pour stocker des fichiers. Si vous souhaitez enregistrer les fichiers de Quark Netdisk sur Baidu Netdisk, comment procéder ? Dans ce numéro, l'éditeur a compilé les étapes du didacticiel pour transférer des fichiers d'un ordinateur Quark Network Disk vers Baidu Network Disk. Voyons comment le faire fonctionner. Comment enregistrer les fichiers du disque réseau Quark sur le disque réseau Baidu ? Pour transférer des fichiers de Quark Network Disk vers Baidu Network Disk, vous devez d'abord télécharger les fichiers requis depuis Quark Network Disk, puis sélectionner le dossier cible dans le client Baidu Network Disk et l'ouvrir. Ensuite, faites glisser et déposez les fichiers téléchargés depuis Quark Cloud Disk dans le dossier ouvert par le client Baidu Cloud Disk, ou utilisez la fonction de téléchargement pour ajouter les fichiers sur Baidu Cloud Disk. Assurez-vous de vérifier si le fichier a été transféré avec succès dans Baidu Cloud Disk une fois le téléchargement terminé. C'est ça

Comment partager NetEase Cloud Music avec WeChat Moments_Tutorial sur le partage de NetEase Cloud Music avec WeChat Moments Comment partager NetEase Cloud Music avec WeChat Moments_Tutorial sur le partage de NetEase Cloud Music avec WeChat Moments Mar 25, 2024 am 11:41 AM

1. Tout d'abord, nous entrons dans NetEase Cloud Music, puis cliquons sur l'interface de la page d'accueil du logiciel pour accéder à l'interface de lecture de chansons. 2. Ensuite, dans l'interface de lecture de la chanson, recherchez le bouton de fonction de partage en haut à droite, comme indiqué dans l'encadré rouge de la figure ci-dessous, cliquez pour sélectionner le canal de partage dans le canal de partage, cliquez sur l'option « Partager sur » sur en bas, puis sélectionnez le premier « WeChat Moments » qui vous permet de partager du contenu avec WeChat Moments.

Qu'est-ce que le fichier hiberfil.sys ? hiberfil.sys peut-il être supprimé ? Qu'est-ce que le fichier hiberfil.sys ? hiberfil.sys peut-il être supprimé ? Mar 15, 2024 am 09:49 AM

Récemment, de nombreux internautes ont demandé à l'éditeur : quel est le fichier hiberfil.sys ? hiberfil.sys peut-il occuper beaucoup d’espace sur le disque C et être supprimé ? L'éditeur peut vous indiquer que le fichier hiberfil.sys peut être supprimé. Jetons un coup d'œil aux détails ci-dessous. hiberfil.sys est un fichier caché dans le système Windows et également un fichier d'hibernation du système. Il est généralement stocké dans le répertoire racine du lecteur C et sa taille est équivalente à la taille de la mémoire installée du système. Ce fichier est utilisé lorsque l'ordinateur est en veille prolongée et contient les données de mémoire du système actuel afin qu'il puisse être rapidement restauré à son état précédent lors de la récupération. Étant donné que sa taille est égale à la capacité de la mémoire, il peut occuper une plus grande quantité d’espace sur le disque dur. hiberner

Comment utiliser l'application Baidu Netdisk Comment utiliser l'application Baidu Netdisk Mar 27, 2024 pm 06:46 PM

Le stockage cloud est devenu aujourd’hui un élément indispensable de notre vie quotidienne et de notre travail. En tant que l'un des principaux services de stockage cloud en Chine, Baidu Netdisk a gagné la faveur d'un grand nombre d'utilisateurs grâce à ses puissantes fonctions de stockage, sa vitesse de transmission efficace et son expérience de fonctionnement pratique. Et que vous souhaitiez sauvegarder des fichiers importants, partager des informations, regarder des vidéos en ligne ou écouter de la musique, Baidu Cloud Disk peut répondre à vos besoins. Cependant, de nombreux utilisateurs peuvent ne pas comprendre l'utilisation spécifique de l'application Baidu Netdisk, ce didacticiel vous présentera donc en détail comment utiliser l'application Baidu Netdisk. Si vous êtes toujours confus, veuillez suivre cet article pour en savoir plus ! Comment utiliser Baidu Cloud Network Disk : 1. Installation Tout d'abord, lors du téléchargement et de l'installation du logiciel Baidu Cloud, veuillez sélectionner l'option d'installation personnalisée.

See all articles