Score:0

ฉันจะเขียนทับไฟล์ที่มีอยู่และคงชื่อไฟล์เดิมไว้เมื่ออัปโหลดใหม่ได้อย่างไร

ธง bm

ฉันมีเนื้อหาประเภท 'เอกสาร' และเพิ่มฟิลด์ 'อัปโหลดเอกสาร' ด้วยประเภท 'ไฟล์' ฉันต้องการแทนที่ไฟล์และอัปเดตโหนด ฉันใช้รหัสด้านล่าง

ฟังก์ชัน 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 แล้ว แต่มันไม่พิมพ์อะไรเลย

cn flag
ดูการเรียก "file_save_upload" ของคุณให้ละเอียดยิ่งขึ้น เป็นไปได้ว่าคุณไม่ได้ตั้งใจรวมปลายทางและค่าคงที่เป็นส่วนหนึ่งของอาร์เรย์การตรวจสอบความถูกต้อง
bm flag
'field_document' คือชื่อฟิลด์ของไฟล์ ถูกต้องหรือไม่
Score:1
ธง ru

คุณสามารถใช้ อัปโหลดไฟล์แทนที่ โมดูลเพื่อแก้ไขกรณีการใช้งานนี้แทนรหัสที่กำหนดเอง:

นี่คือโมดูลยูทิลิตี้ขนาดเล็กที่หยุด Drupal โดยอัตโนมัติจากการเปลี่ยนชื่อไฟล์ใหม่ที่อัปโหลดผ่าน CCK ของไฟล์ เมื่อมีไฟล์ชื่อเดียวกัน 2 ไฟล์ ไฟล์ที่เก่ากว่าจะถูกเปลี่ยนชื่อ

bm flag
ใช่ ฉันได้ลองใช้โมดูลนี้แล้ว มันไม่ทำงานกับฟังก์ชันอื่นที่เกี่ยวข้องกับการอัปโหลดไฟล์ มีวิธีอื่นที่จะทำโดยโมดูลที่กำหนดเองหรือไม่?

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา