2011-08-02 6 views
0

私の目標は、単に$ _POST ['imageVar']をエコーすることです。フラッシュ・アプリケーションからイメージを「書き出す」ための迅速かつ汚れた手段としてコンテンツ・ヘッダーを使用することができます。次のように私はこの例を見ましたが、それは私のPHPのバージョン/設定では動作しません:生の投稿データをPHPでエコーするには?

if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) 
{ 
    // get bytearray 
    $jpg = $GLOBALS["HTTP_RAW_POST_DATA"]; 

    // add headers for download dialog-box 
    header('Content-Type: image/jpeg'); 
    header("Content-Disposition: attachment; filename=".$_GET['name']); 
    echo $jpg; 
} 

私の周りの作業がサーバに画像を保存したスクリプトを作成したように、画像やエコーを読み込みそれを元に戻し、画像を削除します。私はこのアプローチが気に入らないので、共有サーバー上のapacheユーザーが書き込み可能なディレクトリを持つ必要があります。一時ファイルを使用する必要がなければ、私がここでやっていることを達成する方法がありますか?

<? 
$fileName = basename($_FILES['uploadedfile']['name']); 
$tempFile = "uploads/" . $fileName; 
$fileSize = $HTTP_POST_FILES['uploadedfile']['size']; 
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $tempFile)) { 
        $fh = fopen($tempFile, 'r'); 
        $fileContents = fread($fh, $fileSize); 


        header('Content-Type: image/jpeg'); 
        header("Content-Disposition: attachment; filename=$fileName"); 
        echo $fileContents; 

        fclose($fh); 
        unlink($tempFile); 
} else { 
        echo "upload fail"; 
} 

?>

任意の入力やアイデアは大歓迎!あなただけ使用することができます

答えて

2

を探してくれてありがとう:

header('Content-Type: image/jpeg'); 
header("Content-Disposition: attachment; filename=$fileName") 
readfile($_FILES['uploadedfile']['tmp_name']); 

あなたはそれを維持するつもりはない場合は、それを移動する必要はありません。

最初の解決策については、echo file_get_contents('php://input');は機能しませんか?

+0

助けてくれてありがとう!それは素晴らしい作品です! – Hoofamon

0

どうしますか?

関連する問題