1
votes

Quelle est la meilleure méthode pour stocker et récupérer des images / vidéos / pièces jointes audio avec HTML et PHP?

J'ai hâte de créer une application dans laquelle les utilisateurs doivent télécharger leurs données multimédia sur une base de données telle que des images, des vidéos et des enregistrements sonores (pièces jointes). Quelle est la meilleure façon de stocker et de récupérer ce type de données?

Est-il sûr, par exemple, d'utiliser LONGBLOB sur mySQL?


4 commentaires

Devez-vous les stocker dans la base de données, le système de fichiers serait-il une meilleure alternative (même si vous ne savez pas ce qui est mieux: - /)


Le stockage de fichiers de base de données serait inefficace, car vous demanderiez l'image à chaque fois au lieu d'utiliser le cache des utilisateurs pour les images déjà téléchargées.


Pourriez-vous donner un exemple de serveur de système de fichiers (documentation), s'il vous plaît?


Vous devez simplement stocker l'image, "image.jpg" dans un dossier et la pointer dans la base de données.


4 Réponses :


0
votes

Oui. Tant que ce n'est pas un gros fichier. Parce que la base de données ralentira considérablement l'accès à la base de données


0 commentaires

1
votes

Ne stockez pas ce type de fichiers directement dans la base de données. Voici pourquoi Stockage d'images dans DB - Oui ou non?

Stockez ces fichiers dans le stockage cloud et stockez le chemin de ces fichiers dans la base de données

Celui-ci est un stockage cloud gratuit

https: // cloud. com / pricing? utm_expid = .Gmty0F1bRCaIqeSDwI0cEQ.0 & utm_referrer = https% 3A% 2F% 2Fcloudinary.com% 2F

Ou essayez d'utiliser les services de stockage de bucket AWS ou GCP.


0 commentaires

2
votes

Ne les stockez pas dans une base de données.

Pensez à utiliser Amazon S3 ou un autre type de système de fichiers cloud, et stockez le chemin du fichier dans votre base de données.

Remarque :

Ce n'est probablement pas la meilleure pratique de stocker le chemin complet dans votre base de données,

  • stockez simplement le chemin local du fichier dans votre base de données
  • stocker l'adresse du bucket dans vos variables d'environnement,
  • puis générez dynamiquement l'URL pour charger et accéder au fichier.

0 commentaires

1
votes

Il est possible mais non recommandé de stocker les objets dans la base de données, cependant si les objets sont très petits et que l'application est petite, vous pouvez les stocker dans la base de données.

Il est recommandé de stocker les fichiers objet dans un conteneur d'objets comme AWS S3 ou GCP Bucket


2 commentaires

Disons que j'utilise le GCP, existe-t-il un moyen de lier un enregistrement de base de données mySQL à l'image (par exemple: pour éliminer deux images ayant la même URL - il y aurait une colonne appelée `` chemin '' dans la table)


Vous pouvez ajouter un fichier. horodatage actuel ou b. un nombre aléatoire ou le c. identifiant de profil ou une combinaison des deux comme préfixe et renommez le fichier. puis conservez la copie de référence dans la base de données.