【问题标题】:uploading an image from flash using php more specifically HTTP_RAW_POST_DATA?使用 php 更具体地说是 HTTP_RAW_POST_DATA 从 Flash 上传图像?
【发布时间】:2011-03-25 07:54:19
【问题描述】:

我目前正在使用它,因此它会显示一个对话框以将图像保存在您的计算机上:

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;
}

只是想知道是否有任何方法可以将文件直接放入目录/文件而不需要对话框?

喜欢上传者?

【问题讨论】:

    标签: php flash upload directory


    【解决方案1】:

    只需读取页面内容并使用 fopen 、 fwrite 等保存在文件中。

    if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
    
        // get bytearray
        $jpg = $GLOBALS["HTTP_RAW_POST_DATA"];
    
        // add headers for download dialog-box
     ob_start();
        header('Content-Type: image/jpeg');
           echo $jpg;
      $image=ob_get_clean();
       //and here write it into file      
      }
    

    或者以下是我的代码,您可以删除对您无用的不必要的东西

     if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] ))     {
    $im = $GLOBALS["HTTP_RAW_POST_DATA"];
    $filename=$_GET['name'];
    $fullFilePath='files/'.$filename;
    $handle=fopen($fullFilePath,"w");
    fwrite($handle,$im);
    fclose($handle);
    $returnVars = array();
    $returnVars['write'] = "yes";
    $returnString = http_build_query($returnVars);
    //send variables back to Flash
    echo $returnString;
      }
    

    【讨论】:

      【解决方案2】:

      不,没有。

      【讨论】:

      • 有没有使用http原始帖子数据上传的方法?
      • 没有。使用http raw post数据与下载无关。你搞砸了下载和上传。您正在使用 HTTP_RAW_POST_DATA 将文件从用户发送到服务器(上传)并回显以将其发回(下载)。但这没关系,因为无论如何您都无法在未经用户许可的情况下将文件保存在用户的计算机上。期间。
      猜你喜欢
      • 2017-09-02
      • 1970-01-01
      • 2013-12-27
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多