Comment copier un fichier envoyé par $GLOBALS["HTTP_RAW_POST_DATA"]

kitsu
Invité n'ayant pas de compte PHPfrance

23 mars 2008, 01:41

Bonjour

j'ai une application flash qui génère un jpeg et qui appelle un fichier php pour envoyer ce jpeg via le navigateur par sa fenetre de telechargement.

Le fichier est donc envoyé à la volée par la variable $GLOBALS["HTTP_RAW_POST_DATA"]
Je voudrais copier le fichier dans un répertoire du serveur avant de l'envoyer dans le navigateur du client par la fonction header();
Problème: je ne vois pas absolument pas comment faire.
J'ai essayé en faisant quelque chose du genre copy('monfichierphp.php','toto.jpg') mais la fonction renvoie cette erreur:

Code : Tout sélectionner

Warning: copy(jpg_encoder_download.php?name=sketch.jpg) [function.copy]: failed to open stream
Voici le contenu du fichier php, comment copier le contenu de $GLOBALS["HTTP_RAW_POST_DATA"] sur mon serveur avant de l'envoyer à la volée?

Code : Tout sélectionner

<?php if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) { $im = $GLOBALS["HTTP_RAW_POST_DATA"]; header('Content-Type: image/jpeg'); header("Content-Disposition: attachment; filename=".$_GET['name']); echo $im; } else echo 'An error occured.'; ?>
merci

Invité
Invité n'ayant pas de compte PHPfrance

23 mars 2008, 04:05

résolu:

Code : Tout sélectionner

file_put_contents('filename.ext', $GLOBALS["HTTP_RAW_POST_DATA"]);

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mars 2008, 17:33

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)