Table des matières
回复内容:
Maison développement back-end tutoriel php 网站怎么去记录上传的图片url合适呢?

网站怎么去记录上传的图片url合适呢?

Jun 06, 2016 pm 08:29 PM
mysql php 七牛云存储 图片上传

对于网站上传的图片,图片被上传到服务器中后,我们怎么去记录每个上传的图片文件的储存的地址呢?

比如:用户上传的图像,相册,商品图片等等,这些上传的图片我们怎么去记录其所在地址呢?

1:比如用户表有个 avatar 字段,用户上传图片后,然后把形如: http://www.thinkphp.cn/Uploads/da/2015-08-05/55c18ef67e249.jpg 这样的图片url存入 avatar 字段吗? 还是只存图片名称,或者拆分为三段 域名/路径/名称 存入三个字段?

2:还有用户相册,用户上传很多图片,这个怎么将图片的url保存在数据库中呢?

3:还有DZ论坛中一篇帖子内容中可能包含很多图片,这个怎么存呢,还是要单独建一个图片附件表,然后与帖子ID关联?

4:如果使用的是云存储呢,比如七牛和又拍云,使用它们的接口上传后,也是会给你返回一个图片url的吗?那么我们也像上面那样将返回的图片url保存在数据库中吗?

既然网站很多地方都使用了图片上传功能,每个被上传的图片在服务器中的位置都需要被记录下来,那我们何不专门创建一张表来保存所有上传的图片url呢?

我想到的最简单的这个表的设计:imgup(id, url)

就这样简单,所有上传的图片信息都在这里记录,比如原先用户表中的 avatar 保存的是图像的url,现在就可以保存这个对应id就可以了,这样就简单多了,商品图片,帖子内容图片,……,都同理。

但是我总觉得这样太简单了,过于不妥,这个表到底怎样设计最合理呢?需不需要加上图片的一些其它信息呢,比如在客户端被上传前的原始名称,图片大小,图片尺寸,图片创建时间,图片修改时间,图片EXIF信息,……等等。

没有看过DZ的代码,帖子中可以看到每个附件图片和其它文件,并能控制权限让用户下载,不知道它那个是怎么做的。

这个问题被延伸到网站【文件上传】上面就不局限于图片了,所有上传的文件信息都放在这个 记录上传文件信息 的表里面,那就方便多了,管理也方便,所以这个问题我想了很久,就是没有经验,所以先来请教下各位大神。

希望有经验的大神们不吝赐教,指点迷津,我当没齿难忘,谢谢!

回复内容:

对于网站上传的图片,图片被上传到服务器中后,我们怎么去记录每个上传的图片文件的储存的地址呢?

比如:用户上传的图像,相册,商品图片等等,这些上传的图片我们怎么去记录其所在地址呢?

1:比如用户表有个 avatar 字段,用户上传图片后,然后把形如: http://www.thinkphp.cn/Uploads/da/2015-08-05/55c18ef67e249.jpg 这样的图片url存入 avatar 字段吗? 还是只存图片名称,或者拆分为三段 域名/路径/名称 存入三个字段?

2:还有用户相册,用户上传很多图片,这个怎么将图片的url保存在数据库中呢?

3:还有DZ论坛中一篇帖子内容中可能包含很多图片,这个怎么存呢,还是要单独建一个图片附件表,然后与帖子ID关联?

4:如果使用的是云存储呢,比如七牛和又拍云,使用它们的接口上传后,也是会给你返回一个图片url的吗?那么我们也像上面那样将返回的图片url保存在数据库中吗?

既然网站很多地方都使用了图片上传功能,每个被上传的图片在服务器中的位置都需要被记录下来,那我们何不专门创建一张表来保存所有上传的图片url呢?

我想到的最简单的这个表的设计:imgup(id, url)

就这样简单,所有上传的图片信息都在这里记录,比如原先用户表中的 avatar 保存的是图像的url,现在就可以保存这个对应id就可以了,这样就简单多了,商品图片,帖子内容图片,……,都同理。

但是我总觉得这样太简单了,过于不妥,这个表到底怎样设计最合理呢?需不需要加上图片的一些其它信息呢,比如在客户端被上传前的原始名称,图片大小,图片尺寸,图片创建时间,图片修改时间,图片EXIF信息,……等等。

没有看过DZ的代码,帖子中可以看到每个附件图片和其它文件,并能控制权限让用户下载,不知道它那个是怎么做的。

这个问题被延伸到网站【文件上传】上面就不局限于图片了,所有上传的文件信息都放在这个 记录上传文件信息 的表里面,那就方便多了,管理也方便,所以这个问题我想了很久,就是没有经验,所以先来请教下各位大神。

希望有经验的大神们不吝赐教,指点迷津,我当没齿难忘,谢谢!

没人回答吗?

1.UPYUN的外链为形式:http://<空间名>.b0.upaiyun.com/
#可以自己去定义,可以参考save-key 详细说明
2.可以参考官方的SDK
3.DZ官方有插件你可以看看[DZ]
4.同2

我现在也在做类似平台,我采用的方式是使用nodejs来处理所有文件的请求。命名方式采用uid/year-month/hash 。七牛的话,看你的是不是私密空间了,如果不是则直接根据bucket的域名拼接就行。如果是私密空间,可用sdk获取文件临时下载地址。手机打的,说得有点乱,见谅

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 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 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)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

L'un des changements majeurs introduits dans MySQL 8.4 (la dernière version LTS en 2024) est que le plugin « MySQL Native Password » n'est plus activé par défaut. De plus, MySQL 9.0 supprime complètement ce plugin. Ce changement affecte PHP et d'autres applications

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

La page est vide après que PHP est connecté à MySQL. Quelle est la raison de la fonction Die () non valide? La page est vide après que PHP est connecté à MySQL. Quelle est la raison de la fonction Die () non valide? Apr 01, 2025 pm 03:03 PM

La page est vide après que PHP se connecte à MySQL, et la raison pour laquelle la fonction Die () échoue. Lorsque vous apprenez la connexion entre PHP et la base de données MySQL, vous rencontrez souvent des choses déroutantes ...

Top 10 des plateformes CMS PHP pour les développeurs en 2024 Top 10 des plateformes CMS PHP pour les développeurs en 2024 Dec 05, 2024 am 10:29 AM

CMS signifie Système de gestion de contenu. Il s'agit d'une application logicielle ou d'une plate-forme qui permet aux utilisateurs de créer, gérer et modifier du contenu numérique sans nécessiter de connaissances techniques avancées. Le CMS permet aux utilisateurs de créer et d'organiser facilement du contenu tel que du texte, des images, des vidéos et des documents, et de le publier sur des sites Web ou d'autres plateformes numériques.

See all articles