ฉันมีเนื้อหาประเภท 'เอกสาร' และเพิ่มฟิลด์ 'อัปโหลดเอกสาร' ด้วยประเภท 'ไฟล์'
ฉันต้องการแทนที่ไฟล์และอัปเดตโหนด ฉันใช้รหัสด้านล่าง
ฟังก์ชัน custom_file_upload_form_alter(&$form, $form_state, $form_id) {
ถ้า ($form_id == "test_node_form") {
$form['#submit'][] = 'custom_fileupload_submit';
}
}
ฟังก์ชัน custom_fileupload_submit(&$form, &$form_state) {
$file = file_save_upload('field_document' อาร์เรย์(
'file_validate_extensions' => array('pdf'), // ตรวจสอบนามสกุล
'สาธารณะ://' FILE_EXISTS_REPLACE
));
ถ้า (ไฟล์ $) {
// ย้ายไฟล์เข้าสู่ระบบไฟล์ Drupal
ถ้า ($file = file_move($file, 'สาธารณะ://', FILE_EXISTS_REPLACE)) {
// บันทึกไฟล์เพื่อใช้ในตัวจัดการส่ง
$form_state['storage']['file'] = $file;
}
อื่น {
form_set_error('file', t('ไม่สามารถเขียนไฟล์ที่อัพโหลดลงในโฟลเดอร์ไฟล์ของไซต์'));
}
}
อื่น {
form_set_error('file', t('ไม่ได้อัพโหลดไฟล์'));
}
}
ที่นี่ file_save_upload() ไม่ทำงาน ฉันดีบักตัวแปร $file แล้ว แต่มันไม่พิมพ์อะไรเลย