1
我想上傳文件並解析它,而不是永久保存它。 如何在我的提交處理程序中獲取上傳文件的內容?我能找到的唯一東西總是保存好文件。上傳文件而不保存它
我想上傳文件並解析它,而不是永久保存它。 如何在我的提交處理程序中獲取上傳文件的內容?我能找到的唯一東西總是保存好文件。上傳文件而不保存它
那麼,你必須保存它:當文件通過PHP形式上傳時,它總是被寫入磁盤。幸運的是,drupal的「managed_file」-form元素將所有文件視爲非永久性文件 - >如果不添加'file_usage_add',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.
}
另一種方法是read the file via Javascript並且將結果傳遞通過POST到PHP。然後該文件不會被「寫入」任何地方。
在您的方案中不可能保存文件,然後刪除它? – Sickest
它是,但它似乎是浪費時間...是file_save_upload的方式去呢? – Maarten