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

Langage PHP Discussion :

[PHP 5.3] Transfert de fichier à là volée


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut [PHP 5.3] Transfert de fichier à là volée
    Bonjour,

    J'ai un textarea
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <textarea>
    blabla
    </textarea>
    Le client appuit sur un bouton sauvegarder.
    Le but, c'est que l'utilisateur récupère un fichier 'sauvegarde.txt' dont le contenu est, vous l'aurez deviné : blabla

    Donc déjà, je ne pense pas que coté client on puisse générer un fichier (c'est différent d' écrire), ça doit dépendre du navigateur.

    L'alternative c'est donc d'envoyer la chaine au serveur. Coté php, j'aimerais ne PAS avoir à créer de fichier. Si on est obligé alors tant pis, je sais faire. Mais l'idéal serait de pouvoir le servir à l'utilisateur à la 'volée'.

    Avez-vous une idée si c'est possible, ou pas, et si oui quelles méthodes pourraient m'être utiles.

    Les classiques style fpassthru, readfile, file_put_contents s'appuient sur des fichiers qui sont créés sur le 'disque'. Im faudrait en quelque sorte une simple représentation virtuelle d'un fichier, mais je ne sais pas si ça existe.
    En attendant je cherche...

    Merci d'avance :-)

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Je ne vois pas le problème, ça n'a pas à forcément être initialement 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
    <?php
    if ($_SERVER['REQUEST_METHOD'] != 'POST') {
    ?>
    <form method="post" action="">
        <textarea name="x">y</textarea>
        <br />
        <input type="submit" value="Valider" />
    </form>
    <?php
    } else {
        $file_name = 'sauvegarde.txt';
        header('Content-Type: application/octetstream; name="'.$file_name.'"');
        header('Content-Disposition: attachment; filename="'.$file_name.'"');
        die($_POST['x']);
    }

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je ne vois pas le problème, ça n'a pas à forcément être initialement un fichier :
    Ben tu ne vois pas le problème mais tu as la solution . Moi jl'avais pas .

    Concernant le fait que ça n'a pas à être un fichier, ..., ben c'est vrai que pour le coup j'ai même pas testé avec une chaine. J'ai tellement tapé dans le fichier que je me suis mis dans la tête que ça ne pouvait être que des fichiers et ai même pas tilté devant l'apparente absence de fonctions dans l'API.

    Bref, impeccable.

    Merci à toi.

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

Discussions similaires

  1. [Flex4] Transfert variables PHP vers FLASH puis vers fichier php
    Par funcinema5 dans le forum Flex
    Réponses: 0
    Dernier message: 12/10/2010, 17h36
  2. Réponses: 17
    Dernier message: 15/05/2007, 18h35
  3. Transfert de fichiers par sockets
    Par Kaori dans le forum C++
    Réponses: 19
    Dernier message: 26/01/2005, 13h58
  4. Transfert de fichier par ftp
    Par schub1015 dans le forum MFC
    Réponses: 3
    Dernier message: 14/01/2004, 17h53
  5. [Socket]Transfert de fichier
    Par Aminos dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 19/04/2003, 13h58

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