Drupal 7 上传文件而不保存它

Drupal 7 上传文件而不保存它,drupal-7,Drupal 7,我想上传一个文件并解析它,而不是永久保存它。 如何在提交处理程序中获取上载文件的内容?我能找到的唯一东西似乎总是保存文件。好吧,你必须保存它:当文件通过PHP表单上传时,它总是被写入磁盘。幸运的是,drupal的“托管文件”-表单元素将所有文件视为非永久文件->如果您不添加“文件使用情况添加”,cron将及时删除它们。这意味着您不必删除它们 长话短说: function my_form($form,&$form_state) { $form["myfile"]= array(

我想上传一个文件并解析它,而不是永久保存它。
如何在提交处理程序中获取上载文件的内容?我能找到的唯一东西似乎总是保存文件。

好吧,你必须保存它:当文件通过PHP表单上传时,它总是被写入磁盘。幸运的是,drupal的“托管文件”-表单元素将所有文件视为非永久文件->如果您不添加“文件使用情况添加”,cron将及时删除它们。这意味着您不必删除它们

长话短说:

function my_form($form,&$form_state) {
    $form["myfile"]= array(
        '#type'   => "managed_file",    
        '#progress_indicator' => "bar",
        '#upload_location'    => "public://",           
        '#upload_validators' => array(
            'file_validate_extensions' => array('gif png jpg jpeg'),                        
        ),  
    );       
}

function my_form_submit($form,&$form_state) {
    $file = file_load($form_state["values"]["myfile"]);

    //Do what you want with it. 
    //Keep in mind that the file will be gone soon automatically. 
}

另一种方法是通过POST将结果发送并传递给PHP。那么文件就不会被“写入”到任何地方。

在您的场景中,不可能保存文件然后删除它?是的,但这似乎是浪费时间。。。文件保存上传方式是这样吗?