Comment uploader et télécharger des TRÈS gros fichiers dans MySQL (Blob)

Neutrino3500 Messages postés 91 Statut Membre -  
jordane45 Messages postés 30651 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, c'est dans le titre.
Cordialement.
A voir également:

2 réponses

NHenry Messages postés 2513 Date d'inscription   Statut Modérateur Dernière intervention   371
 
On ne mets pas de fichier dans la base de données.
On enregistre le fichier sur le serveur puis on fais un lien vers lui (nom de fichier, ID, ...)
0
Neutrino3500 Messages postés 91 Statut Membre
 
Je sais, mais j'ai besoin de stocker les fichiers dans le base de données...
0
NHenry Messages postés 2513 Date d'inscription   Statut Modérateur Dernière intervention   371
 
Désolé, mais comme j'évite cette situation, je ne saurais comment t'aider.
0
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
bonjour,
ceci est en anglais, mais les exemples en PHP me semblent très clairs.
en très bref:
$blob = fopen($filePath, 'rb');
$stmt->bindParam(':data', $blob, PDO::PARAM_LOB);

comme tu le vois, cela se fait après un upload "normal" d'un fichier.
0
jordane45 Messages postés 30651 Date d'inscription   Statut Modérateur Dernière intervention   4 816
 
Bonjour,

Il est également possible d'utiliser :
Au niveau de la bdd, un champ de type long text
Au niveau du code, lire le contenu du fichier avec un File_Read et faire un 64_encode du contenu
Puis d'insérer le contenu dans la bdd comme tu le ferais pour n'importe quelle valeur '"text"

Mais bon.. comme l'a indiqué NHenry... faut franchement éviter de stocker des fichier dans une BDD... (surtout mysql)
Cela alourdit énormément la base et donc la ralentit ....
0
Neutrino3500 Messages postés 91 Statut Membre
 
Ça ne permet pas d'uploader des TRÈS gros fichiers (10Go par exemple)...
0
jordane45 Messages postés 30651 Date d'inscription   Statut Modérateur Dernière intervention   4 816 > Neutrino3500 Messages postés 91 Statut Membre
 
Ne confonds pas l'upload et le stockage...
Pour l'upload c'est une question de configuration au niveau du php.ini et de ton apache/nginx
0