ฉันไม่พบฟังก์ชัน Drupal API ใน D7 ที่บอกฉันว่ามีไฟล์ (ไม่มีการจัดการ) อยู่หรือไม่ D6 มีfile_check_locationแต่ไม่ใช่สำหรับ 7
จะตรวจสอบไฟล์ (ไม่มีการจัดการ) ได้อย่างไร?
ฉันไม่พบฟังก์ชัน Drupal API ใน D7 ที่บอกฉันว่ามีไฟล์ (ไม่มีการจัดการ) อยู่หรือไม่ D6 มีfile_check_locationแต่ไม่ใช่สำหรับ 7
จะตรวจสอบไฟล์ (ไม่มีการจัดการ) ได้อย่างไร?
คำตอบ:
คุณสามารถใช้ฟังก์ชั่น PHP มาตรฐานเก่าบึงfile_exists()
ถ้าฉันเข้าใจคุณถูกต้อง:
$uri = 'public://images/an-image.jpg';
if (file_exists($uri)) {
// Do something
}
นอกจากนี้ยังใช้งานได้กับเส้นทางปกติ (สัมบูรณ์) เช่นกัน:
$path = '/var/www/drupal/sites/default/files/images/an-image.jpg';
if (file_exists($path)) {
// Do something
}
file_exists()
และมันไม่ทำงาน คำอธิบายใด ๆ
ฉันไม่ทราบว่ากรณีการใช้งานเฉพาะของคุณคืออะไร แต่คุณไม่จำเป็นต้องตรวจสอบเพื่อดูว่ามีไฟล์อยู่หรือไม่
ฟังก์ชั่น file_unmanaged_copy, file_unmanaged_move, file_unmanaged_delete, file_unmanaged_delete_recursive และ file_unmanaged_save_data ตรวจสอบเพื่อดูว่าไฟล์นั้นมีอยู่และส่งกลับเท็จถ้ามันไม่
คุณสามารถค้นหาซอร์สโค้ดใน drupal / include / file.inc และดู
คุณควรใช้ฟังก์ชั่น drupal:
file_destination ($ uri, FILE_EXISTS_ERROR)
และตรวจสอบ
if (!file_destination($uri, FILE_EXISTS_ERROR)) {
// The file exist
// Do something
}
file_destination()
ใช้file_exists()
งาน