ThinkPHP6, en tant qu'excellent framework PHP, fournit une multitude de bibliothèques et d'outils d'exploitation, permettant aux développeurs de réaliser plus rapidement les exigences fonctionnelles. Dans le développement Web, les éditeurs de texte enrichi sont souvent utilisés comme l'un des outils nécessaires pour aider les utilisateurs à modifier le contenu plus facilement. Cependant, lorsque les utilisateurs souhaitent insérer des images, ils doivent disposer de la fonction de téléchargement d'images.
Cet article utilisera UMEditor comme exemple pour présenter comment implémenter la fonction de téléchargement d'images de l'éditeur de texte enrichi dans ThinkPHP6.
Première étape : introduisez UMEditor
Placez les fichiers de ressources d'UMEditor (y compris js, css, images, etc.) dans le répertoire public sous le répertoire du projet, puis ajoutez les à la page HTML Présentez les fichiers de ressources associés d'UMEditor. Un exemple est le suivant :
<!-- 引入UMEditor --> <link href="/public/UMEditor/themes/default/css/umeditor.css" rel="stylesheet"> <script src="/public/UMEditor/umeditor.config.js"></script> <script src="/public/UMEditor/umeditor.min.js"></script>
Étape 2 : Écrire l'interface de téléchargement d'image
Dans ThinkPHP6, l'écriture de l'interface peut être réalisée via la classe Route et la classe Controller .
<?php use thinkacadeRoute; Route::post('upload/image', 'api/Upload/uploadImage');
La méthode contrôleur de ce mappage de route est le contrôleur de téléchargement. La méthode uploadImage.
<?php namespace apppicontroller; use apppiserviceUploadService; use thinkacadeRequest; class Upload { public function uploadImage() { $file = Request::file('upfile'); $uploadService = new UploadService(); $result = $uploadService->uploadImage($file); return json($result); } }
<?php namespace apppiservice; use thinkacadeFilesystem; use thinkacadeConfig; class UploadService { public function uploadImage($file) { $storage = Config::get('filesystem.default'); $savename = Filesystem::disk($storage)->putFile('images', $file); $url = Config::get("filesystem.disks.{$storage}.url") . '/' . str_replace('\', '/', $savename); return [ 'state' => 'SUCCESS', 'url' => $url, 'title' => '', 'original' => $file->getOriginalName(), 'type' => $file->getOriginalExtension(), 'size' => $file->getSize(), ]; } }
<script type="text/javascript"> var um = UM.getEditor('myEditor', { imageUrl: '/upload/image', //图片上传接口 imageFieldName: 'upfile', //图片提交的表单名称 imageMaxSize: 2048000, //图片大小限制,单位是字节 imageAllowFiles: ['.jpg', '.png', '.gif', '.jpeg'], //允许上传的图片类型 }); </script>
<script type="text/javascript"> UMEDITOR_CONFIG.serverUrl = '/public/UMEditor/php/controller.php/?action='; </script>
Jusqu'à présent, nous avons implémenté avec succès la fonction de téléchargement d'images de l'éditeur de texte enrichi UMEditor dans ThinkPHP6. Les développeurs peuvent utiliser des méthodes similaires pour implémenter la fonction de téléchargement d'images d'autres éditeurs de texte enrichi.
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!