Bonjour,
Si vous avez déjà fait un site qui charge des fichiers joints de tous types? pouvez vous me renseigner.
Je n'arrive pas à afficher un fichier stocké dans un champ BLOB d'une table MySqL (si ce fichier dépasse 100.000 caractéres.).
Voir le document joint.
J'ai mis le source du LOAD du FICHIER et le SOURCE du FICHIER UPLOAD
ainsi que les différents écrans dans le .doc joint
J'ai fait plusieurs essais avec différents navigateurs. (idem).
Je pense avoir un probléme sur la partie HEADER CONTENT mais !!!!!
Bonsoir,
----------------------------
FORMULAIRE permettant le chargement d’un fichier
-------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <? $max=1000000; ?> Joindre un fichier </td><td width="400"> <FORM enctype="multipart/form-data" ACTION="editTicket-simple.php" METHOD='POST'> <font color='black' face='Verdana' size='1'> <input TYPE='hidden' name='MAX_FILE_SIZE' value= "<?php $max ?>" car.> <input TYPE='file' NAME='fich' size=50 MAXLENGTH=80> </td> <td><font color="black" face="Verdana" size="1" align="left" > Attention ! la taille des fichiers est limitée à 1 Mega. </td> <input type=hidden name=GRILLE_1_FOIS value="1"> </tr> </table> <table border="0" width="900" id="table3"> <tr> <td width="150"><font color="#990000" font face="Verdana" size="1" align="center"> <input type='submit' name='envoi' value='Enregistrer'> </FORM>
----------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Ecriture dans la table FICHE de la base Mysql <?php if (isset ($_POST['envoi']) ) { $envoi=$_POST['envoi']; } if ($envoi) { $_SESSION['fiche_joint']=1; //echo '-- F I C H I E R-----'; $fich= $_FILES['fich']['tmp_name']; $taille = $_FILES['fich']['size']; $type = $_FILES['fich']['type']; $nom = $_FILES['fich']['name']; //------------------------------------------------ //----Lecture du COMPTEUR et REECRITURE PLUS 1----- //------------------------------------------------ $fiche_numero++; if ($f = fopen( $fich, "r")) { $contenu=fread($f, $taille); $donnees=addslashes($contenu); } //--------------- //-------------- require('include-ouvert-base.php'); $sql = "INSERT INTO FICHE ( F_NUMERO,F_PIECE_J1,F_PIECE_J1_TAILLE,F_PIECE_J1_NOM,F_PIECE_J1_TYPE) VALUES('$fiche_numero','$donnees','$taille','$nom','$type')"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); $new_message = '<font color="red">le fichier joint a été ajouté...</font>'; } // fin envoi Une partie de la description de la table FICHE F_PIECE_J1 blob BINARY Non F_PIECE_J1_NOM varchar(100) Oui NULL F_PIECE_J1_TAILLE int(11) Non 0 F_PIECE_J1_TYPE varchar(30) Oui NULL F_PIECE_J11 blob BINARY Non F_PIECE_J11_NOM varchar(100) Oui NULL F_PIECE_J11_TAILLE int(11) Non 0 F_PIECE_J11_TYPE varchar(30) Oui NULL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Lecture dans la table FICHE de la base Mysql <?php session_start(); extract($_POST); //------------------------------------------------ //---------- ACCES FICHE JOINTE -----J 1-------- //------------------------------------------------ $direct=$_SESSION['direct']; if($_SESSION['GRILLE_J1']=="1") { require('include-ouvert-base.php'); $select = "select F_NUMERO,F_PIECE_J1,F_PIECE_J1_NOM,F_PIECE_J1_TAILLE,F_PIECE_J1_TYPE FROM FICHE WHERE F_NUMERO = '$direct' "; $result = mysql_query($select,$con)or die('Erreur SQL !'.$select.'<br>'.mysql_error()); $total = mysql_num_rows($result); if ($total == 0) { echo("<br/>"); echo '<font color="red">.....! Numéro de fiche inconnu :'; echo $direct; echo("</font>"); $_SESSION['direct']=$direct; ?> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000"> Désolé , mais cette fiche n existe pas</font></strong></td> <?php break; } while($row = mysql_fetch_array($result)) { $NUMERO=$row[0]; $F_J1=$row[1]; $F_J1_NOM=$row[2]; $F_J1_TAILLE=$row[3]; $F_J1_TYPE=$row[4]; } header("Content-Disposition: attachment; filename=".$F_J1_NOM.";"); header("Content-Length: ".$F_J1_TAILLE); header("Content-Type: ".$F_J1_TYPE); echo $F_J1; } echo 'rien';
Partager