ฉันต้องการทราบว่า Drupal (หรือโมดูล) สร้างไฟล์ชั่วคราวได้ที่ไหน พวกเขาอยู่ในไซต์ / ค่าเริ่มต้นหรือไม่
ฉันกำลังพูดถึง Drupal 6 เป็นพิเศษ
ฉันต้องการทราบว่า Drupal (หรือโมดูล) สร้างไฟล์ชั่วคราวได้ที่ไหน พวกเขาอยู่ในไซต์ / ค่าเริ่มต้นหรือไม่
ฉันกำลังพูดถึง Drupal 6 เป็นพิเศษ
คำตอบ:
ไฟล์ถูกสร้างในไดเร็กทอรีที่มีชื่อถูกส่งคืนจากfile_directory_temp ()ซึ่งส่งคืน:
ค่าของตัวแปร Drupal "file_temporary_path" ซึ่งถูกตั้งค่าจากหน้าการตั้งค่าบน admin / config / media / file-system (Drupal 7) หรือ admin / settings / file-system (Drupal 6)
หากไม่ได้ตั้งค่าตัวแปร Drupal ไว้ฟังก์ชันจะตรวจสอบหนึ่งในไดเรกทอรีต่อไปนี้ หากหนึ่งในไดเรกทอรีเหล่านั้นมีอยู่แล้วมันจะถูกส่งกลับ (และใช้)
ini_get('upload_tmp_dir')
sys_get_temp_dir()
หรือสูงกว่าไดเรกทอรีที่ส่งกลับโดยหากไม่ได้ตั้งค่าตัวแปร "file_temporary_path" และไดเรกทอรีที่ฉันระบุไว้ในจุดก่อนหน้าไม่มีอยู่หรือไม่สามารถเขียนได้ฟังก์ชันใช้ค่าของตัวแปร Drupal "file_public_path"; โดยค่าเริ่มต้นนั้นไดเรกทอรีจะมีค่าconf_path() . '/files'
ซึ่งเป็นไดเรกทอรี "ไฟล์" ที่อยู่ในไดเรกทอรีที่มีไฟล์ setting.php ที่ใช้สำหรับไซต์ Drupal
ฟังก์ชันตั้งค่าตัวแปร "file_temporary_path" เป็นไดเร็กทอรีที่พบ
เท่าที่ผมรู้ว่าโมดูลใด ๆ เปิดไฟล์ชั่วคราวโดยใช้เส้นทางที่เริ่มต้นด้วย "ชั่วคราว: //" (ใช้ได้เฉพาะใน Drupal 7 และสูงกว่า) file_directory_temp()
หรือการใช้งาน ไดเร็กทอรีที่ส่งคืนจากfile_directory_temp()
สามารถเปลี่ยนจากระบบเป็นระบบ แต่โมดูลใช้ไดเรกทอรีนั้นเสมอ
โมดูล Drupal ไม่มีสิทธิ์เขียนไดเรกทอรีที่มีโมดูล มันค่อนข้างยากที่โมดูลจะใช้ไดเรกทอรีนั้นเพื่อสร้างไฟล์ชั่วคราว หากคุณพบโมดูลที่ใช้ไดเรกทอรีที่มีโมดูล (หรือไดเรกทอรีย่อยของไดเรกทอรีนั้น) รายงานว่าเป็นข้อบกพร่อง
file_directory_temp()
กำหนดไว้ใน Drupal 6 เช่นกันและโค้ดสำหรับฟังก์ชั่นก็ไม่เปลี่ยนการส่งผ่านจาก Drupal 6 เป็น Drupal 7
หน้าการตั้งค่าที่ admin / settings / file-system มีการตั้งค่าสำหรับไดเรกทอรีที่ใช้สำหรับไฟล์ชั่วคราว
บางโมดูลสามารถเลือกไดเรกทอรีอื่นสำหรับไฟล์ชั่วคราว ไม่มีตำแหน่งโฟลเดอร์มาตรฐาน
ตัวอย่างเช่นโมดูล ctools จะสร้างไฟล์แคชชั่วคราวในไดเรกทอรี / sites / default / files / ctools ดังนั้นมันอาจแตกต่างกันไป