Accueil > Forum > > > > insertion de gros fichier dans un longblob mysql
insertion de gros fichier dans un longblob mysql
samedi 2 juin 2007 à 18:29:33 |
insertion de gros fichier dans un longblob mysql

misterzinzin
|
bonjour, je viens d'essayer d'insérer un fichier dans un longblob avec mi-succes. je dis ca car les petit fichier < à la taille d'un mp3 passe mais un mp3 (3mo ou plus) ne passe pas... voici une partie de mo code en php ajouteFichier($HTTP_POST_FILES['fichier'],$HTTP_POST_VARS['description']);
et le code de la fonction function ajouteFichier($infoFichier,$description) { if($infoFichier['tmp_name']=='') erreur('fichier introuvable'); $db = mysql_connect("localhost","root","...") or erreur("erreur de connexion à la base de donnée"); if($db!=0) { mysql_select_db("forum",$db) or erreur(mysql_error()) ; $requete = "insert into fichiers(id_user,description,nom,type,taille,fichier) values ('". addslashes($_SESSION['id_login'])."','". addslashes($description)."','". addslashes($infoFichier['name'])."','". addslashes($infoFichier['type'])."','". addslashes($infoFichier['size'])."','". addslashes(fread(fopen($infoFichier['tmp_name'],"rb"),filesize($infoFichier['tmp_name'])))."')"; mysql_query ($requete,$db) or erreur(mysql_error()) ; mysql_close($db); } }
evidemment, comme on le voit, tout le fichier est passé dans une grosse requete. y a-t-il moyen de passer le fichier dans plusieur requete ou alors une autre technique ? en tout cas moi je dois avouer que je ne connais rien d'autre :-( pouvez vous m'aider ? moi, le seul, l'unique, ZinZin [:I]
|
|
samedi 2 juin 2007 à 18:37:13 |
Re : insertion de gros fichier dans un longblob mysql

misterzinzin
|
j'ai oublié de dire que j'ai l'erreur: if($infoFichier['tmp_name']=='') erreur('fichier introuvable');donc maintenant que j'y pense, le probleme se situe avant d'envoyer vers la base de donnée. donc je supose qu'il y à une limite au niveau du serveur web (apache) moi, le seul, l'unique, ZinZin [:I]
|
|
samedi 2 juin 2007 à 19:42:25 |
Re : insertion de gros fichier dans un longblob mysql
|
dimanche 3 juin 2007 à 10:31:27 |
Re : insertion de gros fichier dans un longblob mysql

misterzinzin
|
oui effectivement, en modifiant la ligne upload_max_filesize = 2M par upload_max_filesize = 200M le fichier est apparement bien uploadé maintenant, c'est au niveau de mysql que ca coince mysql_error() me retourne ceci: MySQL server has gone awayque veut dire ce message ? moi, le seul, l'unique, ZinZin [:I]
|
|
dimanche 3 juin 2007 à 10:56:15 |
Re : insertion de gros fichier dans un longblob mysql

misterzinzin
|
apparement, ca vient de la requete sql qui est trop grande. en effet, si on exécute (dans phpmyadmin par exemple) SHOWVARIABLES on recupere toute une série de variable dont:
max_allowed_packet 1047552 il faut donc changer cette variable avant d'envoyer une grosse requete: SET GLOBAL max_allowed_packet=200000000 et maintenant ca marche. donc en résumé, il faut modifier le fichier php.ini: upload_max_filesize = 200M
puis après avoir redémarré le serveur (ou autre manipulation permettant de faire relire le fichier de config) exécuter la requete sql suivante SET GLOBAL max_allowed_packet=200000000 (oui bon... ca ne fait pas vraiment 200 MO mais bon...) remarque: il y à surement moyen de le faire directement en passant par le fichier de config de mysql mais je ne l'ai pas touvé. donc maintenant ca passe très bien avec un fichier mp3 | Cristina Aguilera - Hurt.mp3 | audio/mpeg | 5552128 | [BLOB - 5,3 Mio] | 2007-06-03 10:48:12 |
mais... pas avec un fichier de 75Mo donc il doit y avoir une autre limitation (apache ?) moi, le seul, l'unique, ZinZin [:I]
|
|
dimanche 3 juin 2007 à 11:11:44 |
Re : insertion de gros fichier dans un longblob mysql

misterzinzin
|
j'avais oublié de modifier post_max_size = 8M par post_max_size = 200M
évolution de l'histoire: avant, avec mon fichier de 75Mo je n'avais pas d'erreur mais ca ne marchais pas maintenant, ca marche. cependant, en regardant l'évolution de la mémoire ram... ca fait assez peur. en fait tout le fichier est stocké en ram et donc pour un pc qui est en général à 900Mo de ram utilisé, j'ai eu des pointe jusqu'a 1,2Go lors de l'upload de mon fichier. donc 300Mo pour un fichier de 75Mo mon hypothése: 75*2 (pour le addslashes)=150Mo en cache de apache (ou php?)+les 150Mo du fichié transféré en mémoire vers mysql mais on... ca marche.
je pense que je n'atteindrait jamais la limite d'un longblob (4Go)...
moi, le seul, l'unique, ZinZin [:I]
|
|
dimanche 3 juin 2007 à 11:17:20 |
Re : insertion de gros fichier dans un longblob mysql

misterzinzin
|
Réponse acceptée !
donc en résume: pour utiliser plainement les blob de mysql: modifier php.ini (chercher les variables et les modifier) post_max_size = 200M upload_max_filesize = 200M puis redémarrer apache. ensuite: exécuter la requete sql suivante SET GLOBAL max_allowed_packet=200000000 en principe: replacer GLOBAL par SESSION et exécuter juste après la requete d'ajout de fichier serait plus raisonable. pour les test j'ai utilisé movamp sous windows xp sp2 j'imagine que sous linux le principe reste le meme. merci J_G pour tes liens très intéressant :-) moi, le seul, l'unique, ZinZin [:I]
|
|
Cette discussion est classée dans : fichier, mysql, db, addslashes, infofichier
Répondre à ce message
Sujets en rapport avec ce message
transformer une db mysql en fichier xml [ par charbouba ]
Bonjour.En faite je transforme une requete sql en fichier xml.cette requete retourne le groupeid ,le nom,leprenom de l utilisateur.Je veux obtenir un
insertion des fichiers dans mysql [ par djomsroset ]
slt a tousj'aimerais savoir le type de donnees mysql a utiliser quand on veut inserrer dans sa BD un fichier (une image, un fichier PDF, word, wma,mp3
xml ou mysql [ par adamess ]
bonjour ,je veux savoir est ce que l'accès un fichier xml plus rapide para-port une base donnes MySQL ?et combien de nombre connexion simultanée peut
Les fichiers [ par Bumcello ]
Bonjour,Le script suivant sert à uploader des images de types differents. Et donc si je choisis un fichier jpeg cela ne fonctionne pas cela m'affiche
Authentification [ par gabsia ]
Salut J'ai un problème d'autentification: Je suis entrain de créer un site comme étant projet, Ce site dynamique : l'utilisateur doit s'y inscrire
Fonction mail [ par yoarf ]
Bonjour,Je voudrais envoyer une newletter par paquets (adresse e-mail dans une table), en utilisant le champs CCI.Pouvez-vous me donner votre avis ? C
htaccess pour eviter le hot linking.... problème [ par loupile ]
Bonjour alors voila mon problème sur mon site j'ai des videos ... un concurrent les a reperés et c'est empressé de faire de liens dessus ..au debut j'
inserer donnes dans une base mysql [ par kelm_by ]
salut tous le monde,j'ai un fichier txt ou il ya 1000ligne du genre:محمد هنيديمح
Verification pseudo MYSQL [ par poitierjohan ]
Bonjour,Voici un code que j'ai testé (pour un page web), mais celui-ci ne foncionne pas...En quoi consiste-t-il? Il devrait me vérifié si un pseudo es
Comment appeler une procedure stockees en PHP et retourner un parametre? [ par ed1982 ]
Bonjour a tous, Je voudrai savoir comment appeler une procedure stockee (Mysql) dans ma fonction php. J aimerai savoir comment retourner le parametr
Livres en rapport
|
Derniers Blogs
[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE?[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE? par JeremyJeanson
Avec la sortie de la RC de Visual Studio 2010, Microsoft a mis un peu les points sur leS i en ce qui concernait le passage d'arguments. Mais nous somme un certain nombre à avoir pris ce changement comme un coup dur. Pour résumer la situation : à la sortie...
Cliquez pour lire la suite de l'article par JeremyJeanson [RIA SERVICES] INCLUDE ET DOMAINDATASOURCE[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE par Audrey
Dans un de mes articles précédents , j'avais parlé des DomainDataSource avec RIA Services dans le cas d'une interface Maître - Détail. Dans le même principe, je vais parler d'une autre manière de mettre en forme ce cas d'interface avec RIA Services. Et po...
Cliquez pour lire la suite de l'article par Audrey ZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATIONZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATION par ROMELARD Fabrice
Une des nouveautés de la version V 3.0 était l'apparition de l'onglet Social qui ne fonctionnait que si le MarketPlace était activé sur son poste. Cela limitait donc son intérêt, car hors du cadre commercial USA-CANADA, peu de monde trouva...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit
Forum
RE : TEMPORISATIONRE : TEMPORISATION par Arto_8000
Cliquez pour lire la suite par Arto_8000
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|