免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4301 | 回复: 7
打印 上一主题 下一主题

为什么windows下is_writeable函数总返回false? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-21 12:26 |只看该作者 |倒序浏览
10可用积分
我已经把文件夹设为可写,并且apache的用户已经改成管理愿,用is_writeable判断一个目录总返回false,那位能解决下吗?

最佳答案

查看完整内容

据说是由于此函数在某些情况下有bug有人自己写了一个:注意判断目录要在最后加上 /

论坛徽章:
0
2 [报告]
发表于 2008-07-21 12:26 |只看该作者
原帖由 wanjunq 于 2008-7-21 12:26 发表
我已经把文件夹设为可写,并且apache的用户已经改成管理愿,用is_writeable判断一个目录总返回false,那位能解决下吗?


据说是由于此函数在某些情况下有bug

有人自己写了一个:
<?php
function is__writable($path) {

&nbsp;&nbsp;&nbsp;&nbsp;if ($path{strlen($path)-1}=='/') // recursively return a temporary file path

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return is__writable($path.uniqid(mt_rand()).'.tmp');
&nbsp;&nbsp;&nbsp;&nbsp;else if (is_dir($path))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return is__writable($path.'/'.uniqid(mt_rand()).'.tmp');
&nbsp;&nbsp;&nbsp;&nbsp;// check tmp file for read/write capabilities

&nbsp;&nbsp;&nbsp;&nbsp;$rm = file_exists($path);
&nbsp;&nbsp;&nbsp;&nbsp;$f = @fopen($path, 'a');
&nbsp;&nbsp;&nbsp;&nbsp;if ($f===false)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;
&nbsp;&nbsp;&nbsp;&nbsp;fclose($f);
&nbsp;&nbsp;&nbsp;&nbsp;if (!$rm)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unlink($path);
&nbsp;&nbsp;&nbsp;&nbsp;return true;
}
?>


注意判断目录要在最后加上 /

论坛徽章:
52
码神
日期:2017-03-28 10:27:10综合交流区版块每日发帖之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-09-28 06:20:00综合交流区版块每日发帖之星
日期:2015-09-22 06:20:00每日论坛发贴之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-08 06:20:00综合交流区版块每日发帖之星
日期:2015-09-05 06:20:00综合交流区版块每日发帖之星
日期:2015-09-04 06:20:002015亚冠之德黑兰石油
日期:2015-09-01 10:41:53每日论坛发贴之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-10-12 06:20:00
3 [报告]
发表于 2008-07-31 10:24 |只看该作者

回复 #1 wanjunq 的帖子

检查下目录写的对不对。。。

论坛徽章:
0
4 [报告]
发表于 2008-07-31 17:31 |只看该作者

好好检查下

原因: 1  路径写法是否正确
       2  你说得可写权限是否真的可行。 改成777试一下

论坛徽章:
0
5 [报告]
发表于 2008-07-31 19:59 |只看该作者
如果你的路径是用的c:\windows\这种形式,改成c:/windows/试试。
反之亦然。

论坛徽章:
52
码神
日期:2017-03-28 10:27:10综合交流区版块每日发帖之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-09-28 06:20:00综合交流区版块每日发帖之星
日期:2015-09-22 06:20:00每日论坛发贴之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-08 06:20:00综合交流区版块每日发帖之星
日期:2015-09-05 06:20:00综合交流区版块每日发帖之星
日期:2015-09-04 06:20:002015亚冠之德黑兰石油
日期:2015-09-01 10:41:53每日论坛发贴之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-10-12 06:20:00
6 [报告]
发表于 2008-08-01 10:36 |只看该作者

回复 #4 bob.xtian 的帖子

权限也很重要。。。

论坛徽章:
0
7 [报告]
发表于 2008-08-01 14:20 |只看该作者
原帖由 wildlily980 于 2008-7-31 19:59 发表
如果你的路径是用的c:\windows\这种形式,改成c:/windows/试试。
反之亦然。


是不是改成:c:\\windows\\.....  ?

论坛徽章:
0
8 [报告]
发表于 2008-09-05 08:59 |只看该作者
结贴了,果然是php的bug,换了一个php版本,程序和系统什么都没改就正常了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP