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 40050 Statut Modérateur -
Bonjour, c'est dans le titre.
Cordialement.
A voir également:

2 réponses

NHenry Messages postés 15479 Statut Modérateur 366
 
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 15479 Statut Modérateur 366
 
Désolé, mais comme j'évite cette situation, je ne saurais comment t'aider.
0
yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 
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 40050 Statut Modérateur 4 757
 
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 40050 Statut Modérateur 4 757 > 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