Điểm:0

Làm cách nào tôi có thể ghi đè lên tệp hiện có và giữ nguyên tên tệp khi tải lên tệp mới

lá cờ bm

Tôi có loại nội dung 'Tài liệu' và đã thêm trường 'Tải tài liệu lên' với loại 'Tệp' Tôi muốn thay thế tệp và cập nhật nút. Tôi đang sử dụng mã dưới đây

function custom_file_upload_form_alter(&$form, $form_state, $form_id) {
  if($form_id == "test_node_form") {
    $form['#submit'][] = 'custom_fileupload_submit';
  }
}

chức năng custom_fileupload_submit(&$form, &$form_state) {
 $file = file_save_upload('trường_tài liệu', mảng(
    'file_validate_extensions' => mảng('pdf'), // Xác thực các tiện ích mở rộng.
    'công khai://', ​​FILE_EXISTS_REPLACE
  ));
  nếu ($ tập tin) {
    // Di chuyển tệp vào hệ thống tệp Drupal
    if ($file = file_move($file, 'public://', ​​FILE_EXISTS_REPLACE)) {
      // Lưu tệp để sử dụng trong trình xử lý gửi.
      $form_state['storage']['file'] = $file;
    }
    khác {
      form_set_error('file', t('Không thể ghi tệp đã tải lên vào thư mục tệp của trang web.'));
    }
  }
  khác {
    form_set_error('file', t('Không có file nào được tải lên.'));
  }
}

Ở đây file_save_upload() không hoạt động. Tôi đã gỡ lỗi biến $file nhưng nó không in được gì.

lá cờ cn
Hãy xem xét lệnh gọi `file_save_upload` của bạn cẩn thận hơn. Có khả năng bạn không có ý bao gồm đích và hằng số như một phần của mảng xác thực
lá cờ bm
'field_document' là tên trường tệp có đúng không?
Điểm:1
lá cờ ru

Bạn chỉ có thể sử dụng Tải lên tệp thay thế mô-đun để giải quyết trường hợp sử dụng này thay vì mã tùy chỉnh:

Đây là một mô-đun tiện ích nhỏ tự động ngăn Drupal đổi tên các tệp mới tải lên qua trường tệp CCK. Khi tồn tại 2 tệp trùng tên, các tệp cũ hơn sẽ được đổi tên.

lá cờ bm
Có, tôi đã thử mô-đun này, mô-đun này không hoạt động với chức năng khác liên quan đến tải tệp lên. Có cách nào khác để thực hiện bằng mô-đun tùy chỉnh không?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.