2012-02-23 4 views
0

PHPを使用してサーバーからいくつかのイメージを削除しようとしています。しかし、私はこのエラーに遭遇し続けます:有効なファイルが与えられているにもかかわらず、unlink()が動作していません

警告: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/sandbox/resources/blocks /)。私もファイルのアクセス許可をチェックして、0644に設定されており、テスト目的のために0777に変更すると、(期待どおり)何もしませんでした。

これを引き起こしている可能性のある人は誰でも知っていますか?

+1

サーバのルートに 'public_html'ディレクトリがありますか? –

+0

はSITE_ROOTが正しく定義されていますか? – aletzo

+0

あなたは '/ home // public_html/.. 'に二重の'/'を持っているかもしれません。おそらくそこから始まります –

答えて

0

unlink(およびファイルで動作するその他のphp関数)はサーバー上で動作し、サーバーパスを使用します。 SITE_ROOTはドキュメントルートのようです。代わりに、サーバ上のファイルへのフルパスを指定してください。

+0

これは意味があります、これはどのように見えるのでしょうか?上に挙げた人のように(/ home/public_html/........)できますか?それとも別の何か? –

+1

@Jonathon:あなたのサーバーのファイルシステムがどのようなものかを知ることができると思う理由がわかりません... –

+1

私は、標準や何かがあると思いました。私は/ public_html /を持っているフォルダへのFTPアクセスしか持っていません。もしそれより高いフォルダがあれば、私はそれらを見ることができず、それらが何であるか分かりません。 –

関連する問題