页次: 1
php 代码
if ( ! function_exists('is_really_writable')) { function is_really_writable($file) { // If we're on a Unix server with safe_mode off we call is_writable // 如果是在 unix 并且 安全模式没有打开的情况下是可以 直接使用 php 提供的 is_writable($file); if (DIRECTORY_SEPARATOR == '/' AND @ini_get("safe_mode") == FALSE) { return is_writable($file); } // For windows servers and safe_mode "on" installations we'll actually // write a file then read it. Bah... // 其他的情况就需要做个测试, 判读是否可以读写 if (is_dir($file)) { $file = rtrim($file, '/').'/'.md5(mt_rand(1,100).mt_rand(1,100)); if (($fp = @fopen($file, FOPEN_WRITE_CREATE)) === FALSE) { return FALSE; } fclose($fp); @chmod($file, DIR_WRITE_MODE); @unlink($file); return TRUE; } elseif ( ! is_file($file) OR ($fp = @fopen($file, FOPEN_WRITE_CREATE)) === FALSE) { return FALSE; } fclose($fp); return TRUE; } }
这个函数通过了
DIRECTORY_SEPARATOR # 目录分隔符
来确定是不是unix类的系统。
这个函数说明两点:
第一:安全摸下 is_writable 工作的不一定能正常工作
第二:winows 下 这个函数也不能好好的工作。
函数
mt_rand(1, 100);
<a href='http://www.ipbbs.net'>通过ci学习php</a>
离线
页次: 1