2012-02-23 48 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

相關問題