Page 1 sur 1

Blob et large fichiers télécharger

Posté : 06 juin 2015, 09:44
par manud
Bonjour tout le monde,

Je cherche à résoudre un problème... J'utilise php depuis 10 ans, sans avoir jamais utilisé de BLOB en base de données. Et justement je commence à les utiliser.

Je ne comprend pas comment utiliser les BLOBS.

Par exemple, quand j'insère un fichier de 16MB, j'ai une erreur, d'allocation mémoire.

C'est sans doute ma technique qui n'est pas bonne: j'utilise la fonction file_get_contents($filename)

Que dois-je utiliser comme méthode avec mysqli?

Je n'ai pas trouvé d'exemple de code qui ferait:
ouvrir le fichier $filename
lire le fichier morceaux par morceaux et le transmettre en base de données de la même manière. J'imagine que c'est possible.

Re: Blob et large fichiers télécharger

Posté : 06 juin 2015, 10:57
par tof73
c'est vraiment indispensable de mettre le contenu de fichiers dans la base de donnée, et pas seulement leur noms ?

Re: Blob et large fichiers télécharger

Posté : 06 juin 2015, 10:59
par manud
Euh oui. Dans mon cas, oui.

Re: Blob et large fichiers télécharger

Posté : 06 juin 2015, 11:57
par manud
Enfin je veux dire, y a-t-il une alternative à l'insert pour un BLOB? Comme open read write close?

Re: Blob et large fichiers télécharger

Posté : 06 juin 2015, 21:40
par manud
Style orienté objet

bool mysqli_stmt::send_long_data ( int $param_nr , string $data )
Style procédural

bool mysqli_stmt_send_long_data ( mysqli_stmt $stmt , int $param_nr , string $data )
Envoie les données au serveur par paquets, si la taille des données excède la limite de max_allowed_packet. Cette fonction peut être appelée plusieurs fois pour envoyer les données textes ou binaires de champs comme les BLOB ou TEXT.

http://php.net/manual/fr/mysqli-stmt.send-long-data.php