2011-08-05 22 views
-1

名前が$ id変数に含まれるフォルダからファイル名を削除するこのスクリプトを作成しようとしています。わからない、なぜその動作していない:変数を含むフォルダからファイル名を削除する

コード:他の言葉で代わりに単一引用符の

unlink('/userstash/$id' . $fn); 
+2

'$ id'と' $ fn'には正確に何が含まれていますか?テスト結果には何が表示されますか? (スラッシュがない可能性があります) –

+2

変数の検証とサニタイズを確認してください。 '$ fn = '/../../ etc/passwd''より悪いことはありません。 – knittl

+0

@knittlええ、心配しないでください。それがチェックされている。 – KPO

答えて

2

二重引用符を使用、:

unlink("/userstash/$id" . $fn); 
1

あなたはダブルクォートを使用する必要があります。

unlink("/userstash/$id" . $fn); 
2

は、あなたが適切にあなたのパスの文字列を構築して、チェックいくつかのエラーを追加するように注意してください何かがうまくいかないとファイル名について説明しますときに、あなたのスクリプトは通知:

$path = '/userstash/' . $id . $fn: 
$r = unlink($path); 
if ($r === false) 
{ 
    throw new Exception(sprintf('Unable to delete file "%s".', $path)); 
} 
+1

+1デバッグ/エラー報告 –

関連する問題