Thursday, June 11, 2009

is_dir hay file_exists


Share/Bookmark
Khi làm việc với file thường coder php sẽ kiểm tra file có tồn tại hay không bằng hàm file_exists, tôi cũng không tránh khỏi trường hợp này.

Nhưng có trường hợp dùng file_exists kiểm tra, mặc dầu kiểm tra thì file vẫn nằm lù lù đấy :|
Lý do là vì cái warning của php manual:

Warning

This function returns FALSE for files inaccessible due to safe mode restrictions. However these files still can be included if they are located in safe_mode_include_dir.


Bạn thấy đấy, nó không phải lúc nào cũng chạy tốt, nhất là với trường hợp cấu hình safe_mode hơi khó khăn chút, đặc biệt ở các hosting Việt nam hay sợ bị local attack.

Giải quyết vấn đề này, hãy dùng thử is_dir. Hãy yên tâm là hàm này có thể làm việc được cả với file và folder.
Bạn chỉ cần lưu ý một điều ở note của php manual:

Note: The results of this function are cached. See clearstatcache() for more details.