begin process at 2012 02 13 17:35:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Enregistrer dans mysql upload fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Enregistrer dans mysql upload fichier

jeudi 9 décembre 2004 à 12:48:34 | Enregistrer dans mysql upload fichier

jeiragne

Bonjour et merci de me répondre,
j'essaye d'enregistrer un .doc (fichier word) dans un champ blob de mysql mais le problème est que je ne sais pas où est le fichier, le code qui suit ne copie pas dans le blob champ1.
Que faut-il faire ?
Merci de m'aider

$uploaddir = '/var/www/uploads/';

move_uploaded_file($_FILES[$doc]['tmp_name'], $uploaddir . $_FILES[$doc]['name']) ;

print_r($_FILES);

$lien = mysql_connect("","","") ;
mysql_select_db("") ;

$query = "insert into temp (champ1) values ('".$_FILES[$doc]['tmp_name']."')" ;

$result = mysql_query($query) ;

mysql_close($lien) ;
jeudi 9 décembre 2004 à 18:31:56 | Re : Enregistrer dans mysql upload fichier

HecToR_coCHON

Tu peux enregistrer du texte dans une base SQL mais là t'es entrain de lui demander d'enregistrer l'adresse d'un fichier qui n'est même pas au bon format je pense.

Ce que tu peu faire, c'est soit lire le fichier doc que t'as enregistrer avec move_uploaded_file et enregistrer son contenu dans ton champs blob. Sinon tu peux juste enregistrer le chemin d'accès vers ton fichier move_uploaded_filé ( super verbe ) et après pour le relire juste l'appellé en lisant son adresse dans la table sql.
jeudi 9 décembre 2004 à 19:37:38 | Re : Enregistrer dans mysql upload fichier

elnawak

salut jeiragne !

oui en effet HecToR_coCHON a raison la tu enregistre l'adresse du fichier et non son contenu (ce qui en soit est une bonne idée ca ne surchargera pas ta base pour rien ) mais le probleme c'est que le chemin que tu enregistre dans dans base n'est pas le bon .... tu enregistre "$_FILES[$doc]['tmp_name']" alors qu'il faut faut "$uploaddir . $_FILES[$doc]['name']" c'est la qu'est sotcké ton fichier sur le serveur (et c'est la que tu le trouveras ) sinon si la fonction move_uploaded_file te pose PB utilise copy . (ca marche parieil)

voila j'espere t'avoir aidé
@+
jeudi 9 décembre 2004 à 19:40:34 | Re : Enregistrer dans mysql upload fichier

jeiragne

Merci de t'interesser à mon pb et de m'avoir répondu.
Je dois ajouter que j'ai un peux progresser mais j'ai toujours une erreur, voici le dernier code :

$uploaddir = '/var/www/uploads/';

move_uploaded_file($_FILES[$doc]['tmp_name'], $uploaddir.$_FILES[$doc]['name']) ;

$handle = fopen($uploaddir.$_FILES[$doc]['name'], "rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);

$lien = mysql_connect("","","") ;
mysql_select_db("") ;
$query = "insert into temp (champ1) values ('".$contents."')" ;

Merci de voir le pb du dernier source, je précise que mon site est sur free.
jeudi 9 décembre 2004 à 20:02:13 | Re : Enregistrer dans mysql upload fichier

elnawak

re salut !


la en effet y a un pb tu fais :

while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
en fait tu combine deux methodes je m'explique :
soit tu fais
$contents=fread($handle, filesize ($handle)); et non pas 8192 car fread lis un fichier du debut jusqu'a l'endroit specifie par le 2 param (en octect) autrement dis si tu veux tout le fichier filesize ("ton_fichier") .

sinon tu fait :

while (!feof($handle)) {
$contents .= fgets($handle, "nb_octet_arbitraire"); //ex 1024
}


mais pas les deux en meme temps , je sais on veut bien faire mais en prog moins y en a, moins y a d'erreurs ...

sinon le reste de ton code me parait correct mais n'hesite pas si tu as d'autre PB.

@+ et bon courage !
jeudi 9 décembre 2004 à 20:40:25 | Re : Enregistrer dans mysql upload fichier

jeiragne

re bonjour,

j'ai encore progresser mais il reste 2 erreurs qui se répètent avec la boucle while et voici les messages d'erreurs :

Warning: feof(): supplied argument is not a valid stream resource in ...
Warning: fgets(): supplied argument is not a valid stream resource in ...
---------------------------------- Source final ------------------------------
move_uploaded_file($_FILES[$doc]['tmp_name'], $_FILES[$doc]['name']) ;

$handle = fopen($_FILES[$doc]['name'], "r");
$contents = "";
while (!feof($handle)) {
$contents .= fgets($handle, 1024);
}
fclose($handle);

Merci de me répondre.
jeudi 9 décembre 2004 à 21:09:47 | Re : Enregistrer dans mysql upload fichier

elnawak

on va essayer une autre methode beacoup plus simple !

$texte=file_get_contents($handle); //solution a privilegier
plus de boucle while, $texte contient tout ton fichier ! et en plus c'est plus rapide ! (mais je sais pas si ca marche avec tous les type de fichiers faut tester )
sinon si tu veux garder ta boucle while essaie de mettre "rb" (mode binaire ) dans fopen. et si vraiment rien ne marche utilise fread(),je pense que c'est mieux.


PS : je te conseille de faire un file_exits ($handle) (renvoie true ou false) avant toute chose histoire de voir si le fichier est la ou tu pense.on est jamais trop prudent !

en esperant que ca finira pas marcher comme tu le souhaite !

@+
jeudi 9 décembre 2004 à 23:05:45 | Re : Enregistrer dans mysql upload fichier

jeiragne

bonsoir,

j'ai testé l'existence du fichier et malheureusement, il n'existe pas.
Peut-être que chez free ce n'est pas possible de lire un fichier de puis un $_FILES ?
j'ai essayé avec $HTTP_POST_FILES, ça ne marche pas mieux
dans mon form il y a bien enctype ..., si je ne met pas enctype ... dans le form, je récupère un nom de fichier lisible d://mes documents ... mais ça ne marche pas mieux !!
j'ai essayé avec "rb" ou "r" c'est pareil !!

merci de réfléchir encore sur ce problème

:)
vendredi 10 décembre 2004 à 07:48:17 | Re : Enregistrer dans mysql upload fichier

elnawak

essaie ca :

ton form doit etre : enctype="multipart/form-data"

$avatar_tmp=$_FILES["file"]["tmp_name"];
if ($avatar_tmp!=NULL){
copy($avatar_tmp,"avatar/". $file_name);
}

je pense que l'upload marche chez free, y pas de raison, mais le fichier que tu recoit dois etre enregistre on ne sait ou ....


aller ca va bien finir par marcher !

vendredi 10 décembre 2004 à 11:23:04 | Re : Enregistrer dans mysql upload fichier

1 2

Cette discussion est classée dans : fichier, enregistrer, mysql, doc, files


Répondre à ce message

Sujets en rapport avec ce message

MYSQL et enregistrer un fichier [ par ] Salut ,Je voudrais savoir enregistrer un enregistrement de MYSQL et enregistrer un fichier sur le serveur(l'enrigistrement de MYSQL est fais avec Drea 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 Uploder un fichier .doc ou .pdf dans un serveur distant [ par rachidphp93 ] bonjour tout le monde; Est ce que quelqu'un à une idée pour uploder un fichie Probleme Fichier [ par sabou94 ] Bonjour,Voilà mon soucis :C'est simple je veux faire un browse de fichier et enregistrer ce fichier sur mon serveur.Je précise que je reprend une appl Taille max pour une img [ par guisx00 ] Salut voila j'ai un petit upload d'image et j'aimerais lui dire que si la taille de l'image est superieur à 90x90 on ne cree pas seul prob je vois pas svp quelqu'un peut me corriger [ par soumabm ] svp quelqu'un peut me corriger cette page ,son principe est de deposer une annonce dans un site.j'ai une table pays,raison_social,compte_utilisateur,a inserer donnes dans une base mysql [ par kelm_by ] salut tous le monde,j'ai un fichier txt ou il ya 1000ligne du genre:محمد  هنيديمح&#1 inclusion d'une classe provenant d'un autre fichier [ par lilippx ] salut, je me suis mis au php ce matin mais je bute sur un petit truc (dès le premier jour, ce n'est pas motivant...)je n'arrive pas à instancier un ob j'ai un bug dans mon script upload HELP!!! [ par ptiloup73 ] Voila j'ai fais un forumulaire d'upload avec un check de l'extention mais bon .. je ne comprends pas pourquoi il plante.. je débute en php donc je pen problème avec upload [ par 01cod10 ] Bonsoir à tous,je n'arrive toujours pas uploader une photo dans mon répertoire et ma base comme je voulais. je vous présente les scripts que je compte


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales