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 :

LONGBLOB en fichier sans stockage intermédiaire


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 25
    Par défaut LONGBLOB en fichier sans stockage intermédiaire
    J'ai regardé sur gogole rien trouvé mais je suis peut etre passé à coté.


    J'ai un champ LONGBLOB, dednas sont stockés tous mes fichiers.

    Je voudrais sans avoir à générer les fichiers sur le serveur que les poste clients récupèrent le fichier sur un clic de lien.
    C'est illogique je sais car pour récupérer un fichier et bien il faut qu'il y en ait un deja en effet.

    Est ce alors possible de recupérer le contenu du LONGBLOB et que sur le poste client cela propose l'ouverture avec les logiciels présents sur le poste client ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est ce alors possible de recupérer le contenu du LONGBLOB
    Tu as juste a envoyer le fichier vers la sortie standard avec un echo de son contenu.
    Il faudra aussi spécifier le type de document
    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Type: image/jpeg');
    et que sur le poste client cela propose l'ouverture avec les logiciels présents sur le poste client
    C'est le navigateur qui décide ce que devient le fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 25
    Par défaut
    Tu as juste a envoyer le fichier vers la sortie standard avec un echo de son contenu.
    La fonction header attend un fichier si je me plante pas mais moi c'est directement le contenu d'un longblob (et encore il est en binaire donc faut le transformer).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Disposition: attachment; filename="'.$file_name.'"');
    C'est possible de remplacer le nom de fichier par une variable qui elle contient le contenu du fichier ?

    Pour le type de fichier, il sera déterminé dynamiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Type: application/.'$type'.');
    Je t'avouerais que je suis bloqué sur la conversion binaire aussi...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 25
    Par défaut
    Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $file = $recupere_doc['Nom_Doc'];
     
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);

    L'erreur à chaque fois est :
    Warning: readfile(nom_fichier.txt) [function.readfile]: failed to open stream: No such file or directory in C:\Program Files (x86

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est possible de remplacer le nom de fichier par une variable qui elle contient le contenu du fichier ?
    Le header sert a donner des informations sur le contenu qui va suivre, il ne contient pas le contenu (sinon ca ne serait plus un en-tête). Le filename ici est seulement l'indication du nom du fichier.

    Warning: readfile(nom_fichier.txt)
    Il n'y a pas de readfile() dans ce que je t'ai proposé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 25
    Par défaut
    Je bloc sur l'alimentation de mon fichier.

    ok pour un echo de mon BLOB mais après...
    Je n'arrive pas à trouver dans quel paramètre on transmet le contenu...

    Désolé je fais mon boulet la....

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Fais le echo, tu vas comprendre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Récupérer un nom de fichier sans extension
    Par OxN dans le forum Général Java
    Réponses: 13
    Dernier message: 01/08/2011, 16h13
  2. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  3. Réponses: 3
    Dernier message: 27/05/2009, 13h44
  4. [langage] Trouver les fichiers sans la case
    Par nledez dans le forum Langage
    Réponses: 2
    Dernier message: 22/12/2004, 12h07
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44

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