代码之家  ›  专栏  ›  技术社区  ›  Pavel P

用PHP处理HTTP Post

  •  1
  • Pavel P  · 技术社区  · 14 年前

    我挣扎了半天,终于得出结论,那是不可能的。我扔掉了我的PHP脚本,用Perl重写了它,它从一开始就按我希望的方式工作。尽管如此,我还是想知道这种琐碎的任务是否可以在PHP中正确完成。 问题:我有任意长的(大小和时间)文件上传(通过原始数据发布),我只需要用PHP将其保存到一个文件中。它使用PHP的方式是首先完全处理发布的数据,将其保存到一个文件中,然后开始执行脚本(我的文件上载持续30分钟)。即使我尝试了fopen(“php:/stdin”或php://input),它仍然以这种方式工作。我真正需要的是能够按块顺序处理传入的已发布数据。我尝试过:1)modphp,2)php cgi,3)php cli作为一个cgi可执行文件运行。尽管php-cgi是用来作为一个cgi的,但它仍然预处理发布的数据(以便$\u-post可用),并不像普通的mompp那样工作。作为CGI脚本运行的CLI版本不起作用,因为它根本无法从php://stdin或php://input读取!无论我做了什么,都没有什么对我有用,我得出结论,用PHP是做不到的…还是可以?

    谢谢

    2 回复  |  直到 14 年前
        1
  •  0
  •   amphetamachine    14 年前

    $_FILES

    $field_name = 'file'; # from the HTML form control
    
    $move_result = move_uploaded_file(
        $_FILES[$field_name]['tmp_name'],
        $real_destfile
    );
    
    if ($move_result) {
        print "successfully uploaded file (originally called '$_FILES[$field_name]['name']' to $real_destfile";
    } else {
        print "failed to receive uploaded file.";
    }
    
        2
  •  0
  •   Bingy    14 年前