thinkphp3.1 多文件上传图片和文档,怎么保存在不同的文件夹?
thinkphp3.1 上传图片和文档,怎么分开保存?
回复讨论(解决方案)
根据文件后缀,判断上传目录选择
根据文件后缀,判断上传目录选择
$upload->savePath= './Public/image/home/news/';
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
这个上传目录不是只能设置一个么,怎么设置两个,thinkphp上传类第一次用。
thinkphp3.1 没有提供相应的方案,所以需要你自己设计
你可以继承 UploadFile 类,重写 save 方法
也可以用自己的上传类完成
如果你可以获取文件后缀$type
if ($type == '.jpg'){
$upload->savePath= './Public/image/home/ new1/';
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
}else if ($type == '.txt'){
$upload->savePath= './Public/image/home /new2/';
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
}
如果我上传的是一个图片一个文档 2 个个文件呢?
如果你可以获取文件后缀$type
if ($type == '.jpg'){
$upload->savePath= './Public/image/home/ new1/';
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
}else if ($type == '.txt'){
$upload->savePath= './Public/image/home /new2/';
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
}
如果同时上传多个文件,应该会有多个file文件域吧?
这就对file判断不就是?
如果你愿意修改 UploadFile.class.php 文件的话,事情还是有转机的
把 getSaveName 方法中的(408行附近)
$saveName = $rule().".".$filename['extension'];
改成
$saveName = $rule($filename).".".$filename['extension'];
然后
$upload->savePath = '';$upload->saveRule = 'myFunction';
定义函数
function myFunction($filename) { $p = in_array($filename['extension'], array('gif', 'jpg', 'png')) ? '图片路径' : '文档路径'; return $p . $filename['name'];}
由于之后还会加上后缀,所以 $filename['name'] 怎么变形你可随意
如果你愿意修改 UploadFile.class.php 文件的话,事情还是有转机的
把 getSaveName 方法中的(408行附近)
$saveName = $rule().".".$filename['extension'];
改成
$saveName = $rule($filename).".".$filename['extension'];
然后
$upload->savePath = '';$upload->saveRule = 'myFunction';
定义函数
function myFunction($filename) { $p = in_array($filename['extension'], array('gif', 'jpg', 'png')) ? '图片路径' : '文档路径'; return $p . $filename['name'];}
由于之后还会加上后缀,所以 $filename['name'] 怎么变形你可随意
import('ORG.Net.UploadFile');
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 3145728;
$upload->savePath = '';
$upload->saveRule = 'myFunction';
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
private function getSaveName($filename) {
$rule = $this->saveRule;
if(empty($rule)) {//没有定义命名规则,则保持文件名不变
$saveName = $filename['name'];
}else {
if(function_exists($rule)) {
//使用函数生成一个唯一文件标识号
$saveName = $rule($filename).".".$filename['extension'];
}else {
//使用给定的文件名作为标识号
$saveName = $rule.".".$filename['extension'];
}
}
if($this->autoSub) {
// 使用子目录保存文件
$filename['savename'] = $saveName;
$saveName = $this->getSubName($filename).$saveName;
}
return $saveName;
}
function my_filename() {
return date('ymdHis',time()).'_'.mt_rand();
}
function myFunction($filename) {
$p = in_array($filename['extension'], array('gif', 'jpg', 'png')) ? './Public/image/home/img/' : './Public/image/home/file/';
return $p . $filename[my_filename()];
}
改了,这三个地方,提示上传路径不存在。
是空的,我在上传目录不存在上一句输出了下。
既然你的 ./Public/image/home/ 是公共的,那么就
$upload->savePath = './Public/image/home/';
函数里只留 'img/' : 'file/'
既然你的 ./Public/image/home/ 是公共的,那么就
$upload->savePath = './Public/image/home/';
函数里只留 'img/' : 'file/'
版主大大,路径可以用了,不过现在是名字是空的了。
文件已经存在!./Public/image/home/img/.jpg
return $p . $filename[my_filename()];
应为
return $p . my_filename();
可直接写作
return $p . date('ymdHis_').mt_rand();
return $p . $filename[my_filename()];
应为
return $p . my_filename();
可直接写作
return $p . date('ymdHis_').mt_rand();

Outils d'IA chauds

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.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

Avec le développement continu des médias sociaux, Xiaohongshu est devenue une plateforme permettant à de plus en plus de jeunes de partager leur vie et de découvrir de belles choses. De nombreux utilisateurs sont gênés par des problèmes de sauvegarde automatique lors de la publication d’images. Alors, comment résoudre ce problème ? 1. Comment résoudre le problème de l'enregistrement automatique des images lors de la publication sur Xiaohongshu ? 1. Vider le cache Tout d'abord, nous pouvons essayer de vider les données du cache de Xiaohongshu. Les étapes sont les suivantes : (1) Ouvrez Xiaohongshu et cliquez sur le bouton « Mon » dans le coin inférieur droit (2) Sur la page du centre personnel, recherchez « Paramètres » et cliquez dessus (3) Faites défiler vers le bas et recherchez « ; "Vider le cache". Cliquez sur OK. Après avoir vidé le cache, entrez à nouveau dans Xiaohongshu et essayez de publier des photos pour voir si le problème de sauvegarde automatique est résolu. 2. Mettez à jour la version Xiaohongshu pour vous assurer que votre Xiaohongshu

Avec la popularité des courtes vidéos Douyin, les interactions des utilisateurs dans la zone de commentaires sont devenues plus colorées. Certains utilisateurs souhaitent partager des images en commentaires pour mieux exprimer leurs opinions ou émotions. Alors, comment publier des photos dans les commentaires TikTok ? Cet article répondra à cette question en détail et vous fournira quelques conseils et précautions connexes. 1. Comment publier des photos dans les commentaires Douyin ? 1. Ouvrez Douyin : Tout d'abord, vous devez ouvrir l'application Douyin et vous connecter à votre compte. 2. Recherchez la zone de commentaire : lorsque vous parcourez ou publiez une courte vidéo, recherchez l'endroit où vous souhaitez commenter et cliquez sur le bouton "Commentaire". 3. Saisissez le contenu de votre commentaire : saisissez le contenu de votre commentaire dans la zone de commentaire. 4. Choisissez d'envoyer une photo : Dans l'interface de saisie du contenu des commentaires, vous verrez un bouton « image » ou un bouton « + », cliquez sur

Les iPhones récents d'Apple capturent des souvenirs avec des détails, une saturation et une luminosité nets. Mais parfois, vous pouvez rencontrer des problèmes qui peuvent rendre l’image moins claire. Bien que la mise au point automatique sur les appareils photo iPhone ait parcouru un long chemin, vous permettant de prendre des photos rapidement, l'appareil photo peut se concentrer par erreur sur le mauvais sujet dans certaines situations, rendant la photo floue dans les zones indésirables. Si vos photos sur votre iPhone semblent floues ou manquent globalement de netteté, l’article suivant devrait vous aider à les rendre plus nettes. Comment rendre les images plus claires sur iPhone [6 méthodes] Vous pouvez essayer d'utiliser l'application Photos native pour nettoyer vos photos. Si vous souhaitez plus de fonctionnalités et d'options

Lorsque vous constatez qu'un ou plusieurs éléments de votre dossier de synchronisation ne correspondent pas au message d'erreur dans Outlook, cela peut être dû au fait que vous avez mis à jour ou annulé des éléments de réunion. Dans ce cas, vous verrez un message d'erreur indiquant que votre version locale des données est en conflit avec la copie distante. Cette situation se produit généralement dans l'application de bureau Outlook. Un ou plusieurs éléments du dossier que vous avez synchronisé ne correspondent pas. Pour résoudre le conflit, ouvrez les projets et retentez l'opération. Réparer Un ou plusieurs éléments dans les dossiers synchronisés ne correspondent pas à l'erreur Outlook Dans la version de bureau d'Outlook, vous pouvez rencontrer des problèmes lorsque des éléments du calendrier local entrent en conflit avec la copie du serveur. Heureusement, il existe des moyens simples d’aider

Il s'agit de 395 mots, soit 495. Cet article vous montrera comment ajouter des lignes rouges dans les documents Word. Redlining un document consiste à apporter des modifications au document afin que les utilisateurs puissent voir clairement les modifications. Cette fonctionnalité est très importante lorsque plusieurs personnes modifient ensemble un document. Ce que signifie la ligne rouge Marquage d'un document La ligne rouge signifie utiliser des lignes rouges ou des légendes pour indiquer des modifications, des modifications ou des révisions apportées à un document. Le terme a été inspiré par la pratique consistant à utiliser un stylo rouge pour marquer les documents imprimés. Les commentaires Redline sont largement utilisés dans différents scénarios, par exemple pour montrer clairement les modifications recommandées aux auteurs, aux éditeurs et aux réviseurs lors de la modification d'un document. Proposer des changements et des modifications aux accords ou contrats juridiques. Fournir des critiques constructives et des suggestions sur des articles, des présentations, etc. Comment donner W

Dans PowerPoint, il est courant d'afficher les images une par une, ce qui peut être réalisé en définissant des effets d'animation. Ce guide détaille les étapes de mise en œuvre de cette technique, y compris la configuration de base, l'insertion d'images, l'ajout d'une animation et l'ajustement de l'ordre et du timing de l'animation. De plus, des paramètres et ajustements avancés sont fournis, tels que l'utilisation de déclencheurs, l'ajustement de la vitesse et de l'ordre de l'animation et la prévisualisation des effets d'animation. En suivant ces étapes et conseils, les utilisateurs peuvent facilement configurer les images pour qu'elles apparaissent les unes après les autres dans PowerPoint, améliorant ainsi l'impact visuel de la présentation et attirant l'attention du public.

Utilisez-vous également le logiciel Foxit PDF Reader ? Alors, savez-vous comment Foxit PDF Reader convertit les documents PDF en images jpg ? L'article suivant vous explique comment Foxit PDF Reader convertit les documents PDF en images jpg ? images jpg, venez jeter un oeil ci-dessous. Démarrez d'abord Foxit PDF Reader, puis recherchez « Fonctionnalités » dans la barre d'outils supérieure, puis sélectionnez la fonction « PDF vers autres ». Ensuite, ouvrez une page Web intitulée « Foxit PDF Online Conversion ». Cliquez sur le bouton « Connexion » en haut à droite de la page pour vous connecter, puis activez la fonction « PDF to Image ». Cliquez ensuite sur le bouton de téléchargement et ajoutez le fichier pdf que vous souhaitez convertir en image. Après l'avoir ajouté, cliquez sur "Démarrer la conversion".

Le dossier Windows contient le système d'exploitation Windows et constitue un dossier important sur un ordinateur Windows. Par défaut, Windows est installé sur le lecteur C. Par conséquent, C est le répertoire par défaut pour les dossiers Windows. Chaque ordinateur Windows possède un dossier Windows. Cependant, certains utilisateurs ont signalé que deux dossiers Windows avaient été trouvés dans le lecteur C. Dans cet article, nous vous expliquerons ce que vous pouvez faire si vous rencontrez une telle situation. Deux dossiers Windows dans le lecteur C Il est rare d'avoir deux dossiers Windows dans le lecteur C. Toutefois, si vous rencontrez une telle situation, vous pouvez utiliser les suggestions suivantes : Exécutez une analyse anti-malware pour essayer de trouver le bon
