ฉันมีปัญหาในการรับ directroy อัพโหลดจาก drupal มีฟังก์ชั่นที่คืนค่าพา ธ สัมพัทธ์หรือพา ธ สัมบูรณ์หรือไม่?
ฉันมีปัญหาในการรับ directroy อัพโหลดจาก drupal มีฟังก์ชั่นที่คืนค่าพา ธ สัมพัทธ์หรือพา ธ สัมบูรณ์หรือไม่?
คำตอบ:
ข้อมูลนี้ถูกบันทึกไว้ในตารางตัวแปรของ Drupal ใช้variable_get
ฟังก์ชั่นเพื่อรับข้อมูลนี้ส่งผ่านชื่อของตัวแปรที่ถูกต้อง:
variable_get('file_public_path', conf_path() . '/files');
variable_get('file_private_path');
หากคุณต้องการใช้ไดเรกทอรีอัปโหลดชั่วคราวvariable_get('file_temporary_path');
หากคุณต้องการกำหนดไดเรกทอรีอัปโหลดเฉพาะระบบโดยไม่คำนึงถึงการกำหนดค่าไซต์จริงให้ใช้file_directory_temp
ฟังก์ชัน
variable_get('file_public_path', conf_path() . '/files');
จะดึงเส้นทางเริ่มต้นสำหรับคุณในกรณีที่ไม่ได้รับการแก้ไขหรือกำหนดอย่างชัดเจนโดยผู้ดูแลเว็บไซต์
variable_get('file_public_path', conf_path() . '/files');
โดยทั่วไปแล้วจะดึงเส้นทางเริ่มต้นสำหรับคุณในกรณีที่ยังไม่ได้แก้ไขหรือตั้งค่าอย่างชัดเจนโดยผู้ดูแลไซต์
drupal_realpath
วิธีแก้ปัญหาด้านล่าง ดูเหมือนว่าถูกกฎหมายมากขึ้น
ในการรับพา ธ ของระบบไฟล์สัมบูรณ์ให้ใช้drupal_realpath
(Drupal API)แทนfile_create_url
:
drupal_realpath('public://');
// returns e.g. /var/www/drupal/sites/default/files
drupal_realpath('private://');
// returns e.g. /var/www/drupal/sites/default/files_private
คุณยังสามารถใช้ฟังก์ชันเหล่านี้เพื่อรับ URL ที่ถูกต้องจาก uri ที่สัมพันธ์กัน:
file_create_url('public://');
file_create_url('private://');
พวกเขากลับเส้นทางไปยังโฟลเดอร์สาธารณะหรือส่วนตัว
public://
,,private://
ฯลฯ เพื่อหลีกเลี่ยงความขัดแย้งของโฟลเดอร์ใช้ประโยชน์จาก Drupal 7 :))