我有这个代码
if(is_writable($destination)){
print "destination is writable";
}
else {
print "destination is not writable";
}$destination是一个与../subdir/dir/currectDir/类似的相对路径,我检查过了,权限是777,但上面的代码返回"destination is not writable“,我不明白为什么。有人能帮我吗?谢谢
发布于 2013-11-27 18:43:04
除了权限之外,还有许多原因导致目录不可写。其中一些是:
由于restrictions
然而,在这种情况下,我的猜测是您使用的路径不正确。尝试运行
echo getcwd();就在您的is_writable()调用之前。
它将告诉您运行PHP脚本的当前目录,从那里您应该能够计算出正确的相对路径。这并不是说,如果从命令行运行PHP脚本,它的路径将是当前目录的路径,而通过Apache等web服务器运行时,它通常是public_html或httpdocs目录。在脚本执行之前,它也可能已经被更改了。
您还可以指定绝对路径(例如/home/youruser/public_html/subdir/dir/currectDir)
发布于 2013-11-27 18:33:26
我无法评论,所以我不得不在这里回应,但看起来路径(您发布的是相对路径,顺便说一句,不是绝对路径)是不正确的-您尝试过吗
var_dump(file_exists($destination));首先,确定您是否在目录的正确位置查找?
https://stackoverflow.com/questions/20239854
复制相似问题