2012-02-23 26 views
0

我试图从服务器上使用PHP删除一些图像。但我一直遇到这个错误:尽管被赋予一个有效的文件,unlink()仍然无法运行

警告:取消链接(/public_html/sandbox/resources/blocks/space004.jpg)[function.unlink]:没有这样的文件或目录/ home // public_html/sandbox/application /blocks/models/m_blocks.php上线503

这里是取消链接代码:

if(unlink(SITE_ROOT . 'resources/blocks/' . $filename)) 
{ 
    $Template->setAlert($filename.' has been deleted successfully'); 
} 
else 
{ 
    $Template->setAlert($filename.' has not been deleted', 'error'); 
} 

我在FTP检查文件是否存在,它在这错误(确切的路径/的public_html /沙箱/资源/块/)。我还检查了文件权限,它们被设置为0644,并且为了测试目的而更改为0777没有任何效果(如预期的那样)。

任何人都知道什么可能会导致这种情况?

+1

您在服务器的根目录下有一个'public_html'目录? – 2012-02-23 02:15:25

+0

是否正确定义了SITE_ROOT? – aletzo 2012-02-23 02:16:23

+0

你在'/ home // public_html/..'中有双'''''也许从那里开始 – 2012-02-23 02:16:37

回答

0

unlink(以及任何其他可以与文件一起工作的php函数)在服务器上运行并使用服务器路径。 SITE_ROOT似乎是文档根。相反,请指定服务器上的文件的完整路径

+0

这是有道理的,这可能是什么样子?它会像(/ home/public_html/........)像上面提到的那样?或者有些不同? – 2012-02-23 02:23:13

+1

@Jonathon:我不知道为什么你会认为我们会知道你的服务器的文件系统是什么样的...... – 2012-02-23 02:28:00

+1

我不知道,我认为会有一个标准或什么。我只能通过FTP访问具有/ public_html /的文件夹。如果有任何文件夹高于那个,那么我看不到它们,并且不知道它们是什么... – 2012-02-23 02:29:33

相关问题