2013-12-08 100 views
2

爲什麼不能在Symfony中使用unlink()?Symfony如何刪除文件

我已經試過這樣:

unlink(/Applications/XAMPP/xamppfiles/htdocs/symfonydev/web/account_assets/data/suppliers/file.txt) 

我繼續得到同樣的回覆:警告:取消鏈接(/Applications/XAMPP/xamppfiles/htdocs/symfonydev/web/account_assets/data/suppliers/wordpress.txt) :權限被拒絕...

我該怎麼做?

我已將該文件的權限設置爲777。

+0

'unlink()'函數與Symfony沒有任何關係。此外,您需要將路徑放在引號中(即'unlink('/ path/to/file')')。至於「Permission denied」錯誤,你看過它的權限和誰擁有這個文件嗎? 'ls -la'會告訴你這個。 –

回答

2

這是包含這些文件的主目錄上的權限問題。一旦我改變了所有者和權限,一切運作良好。文件系統組件非常棒!

2

請注意,您可以使用filesystem componentremove功能。如果你不想使用文件系統組件,這很好,你可以使用unlink(),有這remove function of the doc一個很好的例子:

public function removeUpload() 
{ 
    if (isset($this->file)) { 
     unlink($this->file); 
    } 
} 

現在,主要的問題是,你沒有權限刪除這個文件。您必須在虛擬主機中配置這樣的目錄:

<VirtualHost *:80> 
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/symfonydev/web/" 
    ServerName yoursite.dev 
    <Directory "/Applications/XAMPP/xamppfiles/htdocs/symfonydev/web/account_assets/data/"> 
    AllowOverride None 
    Allow from All 
    </Directory> 
</VirtualHost>