1
파일을 업로드하고 영구히 저장하지 않고 파싱하고 싶습니다. 제출 처리기에서 업로드 된 파일의 내용을 어떻게 얻을 수 있습니까? 내가 찾을 수있는 유일한 것들은 항상 그것이 보이는 파일을 저장했습니다.저장하지 않고 파일 업로드
파일을 업로드하고 영구히 저장하지 않고 파싱하고 싶습니다. 제출 처리기에서 업로드 된 파일의 내용을 어떻게 얻을 수 있습니까? 내가 찾을 수있는 유일한 것들은 항상 그것이 보이는 파일을 저장했습니다.저장하지 않고 파일 업로드
음, 어쨌든 저장해야합니다. 파일이 PHP 양식을 통해 업로드되면 항상 디스크에 기록됩니다. 운좋게도 drupal의 "managed_file"-form 요소는 모든 파일을 비 영구적으로 처리합니다. - cron은 'file_usage_add'를 추가하지 않으면 제 시간에 제거합니다. 즉, 삭제할 필요가 없습니다. 짧은
긴 이야기 :
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