IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage Fichier JOINT (depuis table MySQL type BLOB) header content [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Affichage Fichier JOINT (depuis table MySQL type BLOB) header content
    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">
      &nbsp;&nbsp;&nbsp;&nbsp;<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';

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut AFFICHAGE Fichier JOINT (depuis table MySQL type BLOB) HEADER CONTENT !
    bonsoir,
    Voici un document sous word avec le Code et
    quelques copies d'écrans pour une meilleure compréhension du probléme.
    Je ne sais pas s'il s'agit d'un probléme
    - lier au code PHP ,
    - au navigateur EXPLOREUR (Internet Exploreur, Mozilla Firefox j'ai mis les derniéres versions),
    - ou sur le serveur Web y a t il un parametre qui empeche le téléchargement de piéces trop volumineuse, ...........
    donc donc voici un document Word qui reprend mes petits soucis
    Merci de vos réponses,
    A+
    Fichiers attachés Fichiers attachés

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Bonjour,
    Ok apres plusieurs jours de recherche l' incident vient
    de fichier superieur A 1000000 car.
    Il manquait un test sur la taille du 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
     
    $max=1000000;
    <input TYPE='hidden' name='MAX_FILE_SIZE' value= "<?php $max ?>" car.> 
     
     
    $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);
     }
    ----------------------
    Merci pour votre écoute

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Import d'un fichier dans une table MySql
    Par jep33 dans le forum Langage
    Réponses: 2
    Dernier message: 04/11/2008, 16h27
  2. Comparer fichier dat et table mysql
    Par Earl7 dans le forum Langage
    Réponses: 1
    Dernier message: 11/06/2008, 10h00
  3. [Oracle] Enregistrer fichier dans un champs de type BLOB
    Par madevilts dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/01/2008, 08h46
  4. [MySQL] Fichier texte vers table MySQL
    Par ecdxml dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/10/2007, 10h19
  5. Affichage d'images depuis base MySQL
    Par klerdesign dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 25/10/2006, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo