Maison développement back-end tutoriel php yii使用activeFileField控件实现上传文件与图片的方法

yii使用activeFileField控件实现上传文件与图片的方法

Jul 29, 2016 am 09:08 AM
form gt model

本文实例讲述了yii使用activeFileField控件实现上传文件与图片的方法。分享给大家供大家参考,具体如下:

yii框架提供了activeFileField控件来完成上传文件(当然也包括了上传图片)的操作,下面介绍yii的activeFileField使用方法。

1、函数原型:

复制代码 代码如下:

public static string activeFileField(CModel $model, string $attribute, array $htmlOpti ( ))


2、调用例子:

(1)首先,设置form,这一步一 定要做,把form设置为'multipart/form-data',具体请看我的:

beginWidget('CActiveForm', array(
'id'=>'books-form',
'enableAjaxValidation'=>false,
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
));
?>

Copier après la connexion

(2) 接着,在view下的form里设置:

<div>
labelEx($model,'BookImg'); ?>

error($model,'BookImg'); ?>
</div>

Copier après la connexion

(3) 如果你想预览图片,那么请注意了,可以加上这么一段:

<div>

BookImg.'"  class="lazy".$model->BookImg.'"/>'; ?>
</div>

Copier après la connexion

(4)最后,需要在控制类里加上下面的:

if($model->save())
{
$image=CUploadedFile::getInstance($model,'BookImg');
 if (is_object($image) && get_class($image)==='CUploadedFile')
 {
 $image->saveAs("D:/aaa/aa.jpg");//路径必须真实存在,并且如果是linux系统,必须有修改权限
 }
$this->redirect(array('view','id'=>$model->BookId));
}
Copier après la connexion

请注意:这里是添加的时候使用的,修改的话要有所改变。

(5)限制上传的文件必须是图片,还有限制图片大小,那么请到model层里的rules新增这么一句:

array('BookImg', 'file','allowEmpty'=>true,
'types'=>'jpg, gif, png',
'maxSize'=>1024 * 1024 * 1, // 1MB
'tooLarge'=>'The file was larger than 1MB. Please upload a smaller file.',
)

Copier après la connexion

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

以上就介绍了yii使用activeFileField控件实现上传文件与图片的方法,包括了方面的内容,希望对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
4 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)

Quelles sont les différences entre Huawei GT3 Pro et GT4 ? Quelles sont les différences entre Huawei GT3 Pro et GT4 ? Dec 29, 2023 pm 02:27 PM

De nombreux utilisateurs choisiront la marque Huawei lors du choix des montres intelligentes. Parmi eux, les Huawei GT3pro et GT4 sont des choix très populaires. De nombreux utilisateurs sont curieux de connaître la différence entre Huawei GT3pro et GT4. Quelles sont les différences entre Huawei GT3pro et GT4 ? 1. Apparence GT4 : 46 mm et 41 mm, le matériau est un miroir en verre + un corps en acier inoxydable + une coque arrière en fibre haute résolution. GT3pro : 46,6 mm et 42,9 mm, le matériau est du verre saphir + corps en titane/corps en céramique + coque arrière en céramique 2. GT4 sain : en utilisant le dernier algorithme Huawei Truseen5.5+, les résultats seront plus précis. GT3pro : ajout d'un électrocardiogramme ECG, d'un vaisseau sanguin et de la sécurité

Correctif : l'outil de capture ne fonctionne pas sous Windows 11 Correctif : l'outil de capture ne fonctionne pas sous Windows 11 Aug 24, 2023 am 09:48 AM

Pourquoi l'outil Snipping ne fonctionne pas sous Windows 11 Comprendre la cause première du problème peut aider à trouver la bonne solution. Voici les principales raisons pour lesquelles l'outil de capture peut ne pas fonctionner correctement : L'assistant de mise au point est activé : cela empêche l'ouverture de l'outil de capture. Application corrompue : si l'outil de capture plante au lancement, il est peut-être corrompu. Pilotes graphiques obsolètes : des pilotes incompatibles peuvent interférer avec l'outil de capture. Interférence provenant d'autres applications : d'autres applications en cours d'exécution peuvent entrer en conflit avec l'outil de capture. Le certificat a expiré : une erreur lors du processus de mise à niveau peut provoquer ce problème. Solution simple. Celles-ci conviennent à la plupart des utilisateurs et ne nécessitent aucune connaissance technique particulière. 1. Mettez à jour les applications Windows et Microsoft Store

Comment réparer l'erreur Impossible de se connecter à l'App Store sur iPhone Comment réparer l'erreur Impossible de se connecter à l'App Store sur iPhone Jul 29, 2023 am 08:22 AM

Partie 1 : étapes de dépannage initiales Vérification de l'état du système Apple : avant d'aborder des solutions complexes, commençons par les bases. Le problème ne vient peut-être pas de votre appareil ; les serveurs Apple sont peut-être en panne. Visitez la page État du système d'Apple pour voir si l'AppStore fonctionne correctement. S'il y a un problème, tout ce que vous pouvez faire est d'attendre qu'Apple le résolve. Vérifiez votre connexion Internet : assurez-vous que vous disposez d'une connexion Internet stable, car le problème "Impossible de se connecter à l'AppStore" peut parfois être attribué à une mauvaise connexion. Essayez de basculer entre le Wi-Fi et les données mobiles ou de réinitialiser les paramètres réseau (Général > Réinitialiser > Réinitialiser les paramètres réseau > Paramètres). Mettez à jour votre version iOS :

Trezor Cold Wallet : fonctionnalités et guide d'utilisation des modèles One et Model T Trezor Cold Wallet : fonctionnalités et guide d'utilisation des modèles One et Model T Jan 19, 2024 pm 04:12 PM

Après que des problèmes soient survenus dans de nombreuses bourses centralisées, de plus en plus d’investisseurs en cryptomonnaies ont commencé à transférer des actifs vers des portefeuilles froids afin de réduire les risques posés par les bourses centralisées. Cet article présente Trezor, le premier fournisseur de portefeuilles froids au monde. Depuis le lancement du premier portefeuille froid en 2014, il a été vendu dans de nombreux pays du monde. Les produits de Trezor incluent le Model One lancé en 2014 et la version avancée Model T lancée en 2018. Ce qui suit continuera à présenter les différences entre ces deux produits et les autres portefeuilles froids. Qu'est-ce que le portefeuille froid Trezor ? En 2014, Trezor a lancé le premier portefeuille froid ModelOne. En plus des devises courantes BTC, ETH, USDT et autres, le portefeuille prend également en charge plus de 1 000 autres devises.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Binaryx est à nouveau renommé la forme, et les quatre qu'il donne à la communauté est sur le point de monter en flèche? Binaryx est à nouveau renommé la forme, et les quatre qu'il donne à la communauté est sur le point de monter en flèche? Mar 04, 2025 pm 12:00 PM

Le changement de nom de jeton de Binaryx: de BNX à quatre, puis à former, la signification profonde derrière les ajustements stratégiques Binaryx a récemment changé le symbole de jeton de quatre $ à $, ce qui a attiré une attention généralisée de l'industrie. Ce n'est pas la première fois que Binaryx change son nom, et son symbole de jeton subit une transition de BNX à quatre. Cet article explorera en profondeur les intentions stratégiques derrière cette série de changements de nom. 1. Processus de changement de nom de jetons et considérations stratégiques Binaryx a initialement lancé le jeton $ BNX basé sur la chaîne BNB en 2021 pour soutenir son écosystème de jeu de jeu à la sécurité (P2E). Au début de 2024, afin d'optimiser le modèle économique, Binaryx a divisé $ bnx et s'est progressivement étendu à GameF

Explication détaillée du modèle dans le framework Django Explication détaillée du modèle dans le framework Django Jun 17, 2023 am 08:48 AM

Django est un framework Web Python open source. Il adopte le modèle architectural MVT (Model-View-Template) et divise l'application en trois parties : Modèle, Vue et Modèle. Parmi eux, Model est un composant de base du framework Django, utilisé pour définir et gérer les données. Cet article fournira une explication détaillée de Model dans le framework Django. Qu'est-ce que le modèle dans Django

Watch4pro est-il meilleur ou gt ? Watch4pro est-il meilleur ou gt ? Sep 26, 2023 pm 02:45 PM

Watch4pro et gt ont chacun des fonctionnalités et des scénarios applicables différents. Si vous vous concentrez sur des fonctions complètes, des performances élevées et une apparence élégante, et que vous êtes prêt à supporter un prix plus élevé, alors Watch 4 Pro peut être plus approprié. Si vous n’avez pas d’exigences fonctionnelles élevées et que vous accordez plus d’attention à la durée de vie de la batterie et à un prix raisonnable, la série GT peut être plus adaptée. Le choix final doit être décidé en fonction des besoins personnels, du budget et des préférences. Il est recommandé d'examiner attentivement vos propres besoins avant d'acheter et de vous référer aux critiques et aux comparaisons des différents produits pour faire un choix plus éclairé.

See all articles