Uploadify est un excellent plug-in jQuery étranger. Sa fonction principale est de télécharger des fichiers par lots
Pour télécharger le contr?le Uploadify, vous pouvez le trouver sur le site. git et trouvez celui qui vous convient. Par exemple, celui que nous utilisons ci-dessous est téléchargé depuis
https://github.com/xjflyttp/yii2-uploadify-widget, qui contient également des documents de fonctionnement détaillés. . (Apprentissage recommandé?: tutoriel yii)
① Configurez composer.json (il existe dans le répertoire racine du site Web), recherchez require, puis ajoutez notre uploadify
"require": { "php": ">=5.4.0", "yiisoft/yii2": ">=2.0.6", "yiisoft/yii2-bootstrap": "*", "yiisoft/yii2-swiftmailer": "*", "xj/yii2-uploadify-widget": "~2.0.0" //這里是新添加的 },
② Utilisez composer downloads yii2-uploadify-widget sur notre site Web, ouvrez la ligne de commande exécutée dans le répertoire racine du site Web et attendez le téléchargement comme indiqué dans la figure?:
③ Afficher le traitement
<?php use yii\web\JsExpression; //外部TAG echo Html::fileInput('test', NULL, ['id' => 'test']); echo Uploadify::widget([ 'url' => yii\helpers\Url::to(['s-upload']), 'id' => 'test', //需要跟上fileInput 的id 對應(yīng) 'csrf' => true, 'renderTag' => false, 'jsOptions' => [ 'width' => 100, 'height' => 40, 'onUploadError' => new JsExpression(<<<EOF function(file, errorCode, errorMsg, errorString) { console.log('The file ' + file.name + ' could not be uploaded: ' + errorString + errorCode + errorMsg); } EOF ), 'onUploadSuccess' => new JsExpression(<<<EOF function(file, data, response) { data = JSON.parse(data); if (data.error) { console.log(data.msg); } else { //在此處理你的圖片 console.log(data.fileUrl); } } EOF
④Configurer la couche contr?leur
<?php namespace \backend\controllers; use xj\uploadify\UploadAction; class TestController extends \yii\web\Controller { public function actions() { return [ 's-upload' => [ 'class' => UploadAction::className(), //磁盤目錄 'basePath' => '@webroot/upload', //訪問目錄 'baseUrl' => '@web/upload', //防止跨站攻擊 'enableCsrf' => true, // default 'postFieldName' => 'Filedata', // default //BEGIN METHOD 'format' => [$this, 'methodName'], //END METHOD //BEGIN CLOSURE BY-HASH //是否覆蓋相同文件 'overwriteIfExist' => true, //創(chuàng)建圖片名稱 'format' => function (UploadAction $action) { $fileext = $action->uploadfile->getExtension(); $filename = sha1_file($action->uploadfile->tempName); return "{$filename}.{$fileext}"; }, //想要多調(diào)用這個函數(shù) 'format' => function (UploadAction $action) { $fileext = $action->uploadfile->getExtension(); $filehash = sha1(uniqid() . time()); $p1 = substr($filehash, 0, 2); $p2 = substr($filehash, 2, 2); return "{$p1}/{$p2}/{$filehash}.{$fileext}"; }, */ 'validateOptions' => [ 'extensions' => ['jpg', 'png'], //后綴驗證 'maxSize' => 1 * 1024 * 1024, //上傳大小限制 ], //驗證前處理 'beforeValidate' => function (UploadAction $action) { //throw new Exception('test error'); }, //驗證后處理 'afterValidate' => function (UploadAction $action) {}, //保存前處理 'beforeSave' => function (UploadAction $action) {}, //保存后處理 'afterSave' => function (UploadAction $action) { //$action->output 返回給瀏覽器的數(shù)據(jù) //返回Url 圖片返回的路徑 //$action->getWebUrl() //圖片的名稱 //$action->getFilename(); //保存圖片的物理位置 //$action->getSavePath(); //輸出 //$action->output['fileUrl'] = $action->getWebUrl(); //$action->output['fileName'] = $action->getFilename(); //$action->output['filePath'] = $action->getSavePath(); //$action->getFilename(); // "image/yyyymmddtimerand.jpg" //$action->getWebUrl(); // "baseUrl + filename, /upload/image/yyyymmddtimerand.jpg" //$action->getSavePath(); // "/var/www/htdocs/upload/image/yyyymmddtimerand.jpg" $action->output[‘fileUrl’] = $action->getWebUrl() }, ], ]; } } ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

TOCREATEABASICROUTEINYII, FirstSetUpAcontrollerByPlacingIntheControllersDirectorywithPropernamingandClassDefinitionExtendingyii \ web \ Controller.1) CreateanactionwithIntheControllerByDefiningApublicMethodstartingWith "Action" .2) Configuration

Ayiidevelopper's Key Responsibilités comprenant la disposition des effections et les applications, assurant des applications, et optimisant la performance.qualifications needaeasstronggraspofphp, l'expérience avec deschnologies de databasemangas

TouseActiverrecorDinyiieffectively, vous créiez laclassement de la recherche detiné et de l'interact avec

La méthode de création d'opérations personnalisées dans YII est de définir une méthode commune à commencer par une action dans le contr?leur, accepter éventuellement les paramètres; ensuite traiter les données, rendre les vues ou renvoyer JSON au besoin; et enfin assurer la sécurité par le contr?le d'accès. Les étapes spécifiques incluent: 1. Créez une méthode préfixée avec l'action; 2. Définissez la méthode au public; 3. Peut recevoir des paramètres URL; 4. Processus des données telles que l'interrogation du modèle, le traitement des demandes de poste, la redirection, etc.; 5. Utilisez AccessControl ou vérifiez manuellement les autorisations pour restreindre l'accès. Par exemple, ActionProfile ($ id) peut être accessible via / site / profil? Id = 123 et rend la page de profil utilisateur. La meilleure pratique est

AyiidevelopercraftSwebapplications using thereyiiframework, obligementskillsinphp, yii-spécificknowledge, andwebdevelopmentlifecyclemanagement.keyResponsibilitys ye

L'enregistrement des événements de sécurité dans YII peut être réalisé en configurant des cibles de journal, en déclenchant des journaux d'événements clés, en considérant le stockage de la base de données et en évitant d'enregistrer des informations sensibles. Les étapes spécifiques sont les suivantes: 1. Définissez une cible de journal dédiée dans le fichier de configuration, telles que FileTarget ou DBtarget, et spécifiez la classification comme ?sécurité?; 2. Utilisez yii :: info () ou yii :: warning () pour enregistrer le journal lorsqu'un événement de sécurité critique (tel que l'échec de la connexion et la réinitialisation du mot de passe) se produit; 3. Stockez éventuellement les journaux dans la base de données pour la requête et l'analyse, et vous devez d'abord créer un tableau et configurer les paramètres LogTable; 4. évitez d'inclure des données sensibles, telles que des mots de passe ou des jetons lors de l'enregistrement des informations de contexte, et vous pouvez utiliser le remplacement des paramètres pour ajouter IP et nom d'utilisateur; 5

L'utilisation de AssetBundles de Yii est une meilleure pratique pour gérer les fichiers CSS et JS. Il définit les groupes de ressources de manière centralisée via des classes PHP et gère automatiquement les dépendances, la fusion et les caches. 1. Le package de ressources est une classe PHP utilisée pour organiser CSS, JS et autres ressources et déclarer leurs dépendances; 2. Enregistrez les packages de ressources dans la vue ou la mise en page pour générer automatiquement des balises HTML; 3. Différents packages de ressources peuvent être enregistrés conditionnellement en fonction du r?le de l'utilisateur ou du type de page; 4. Les fichiers de ressources sont placés dans le Web / CSS et le Web / JS par défaut, et le chemin peut être personnalisé; 5. Utilisez la configuration AssetManager pour ajouter des horodatages pour obtenir le contr?le de la version, en résolvant les problèmes de mise en cache du navigateur. L'utilisation correcte des packages de ressources peut améliorer la clarté de la structure du projet et l'efficacité du chargement

Dans YII, le contr?leur coordonne la logique d'application en traitant les demandes des utilisateurs, les modèles interactifs et les vues de rendu. Les principales responsabilités du contr?leur comprennent: ① Traitement des demandes HTTP; ② interagir avec le modèle pour obtenir ou enregistrer des données; ③ Décider quelle vue d'afficher et de passer des données; ④ Traitement des soumissions de formulaires; ⑤ Retour des réponses HTML, JSON ou de redirection. Les contr?leurs YII sont généralement hérités du contr?leur yii \ web \, et chaque méthode publique correspond à une action accessible via l'URL. Par exemple, la visite http://example.com/site/index appellera la méthode ActionIndex () de SiteController. Les taches courantes incluent la vérification des entrées, les modèles d'appel et le rendu
