2

絶対パスは unlink() で機能します:

<?php
     unlink('images/filename.jpg');
?>

しかし、これはうまくいきません。

<?php
    $image_id = $_POST['image_id'];
    unlink('images/'.$image_id)
?>

ファイルのアクセス許可は問題ありません。スクリプトは読み取り、書き込み、および実行できます。一重引用符と二重引用符で試してみると、絶対ファイル パスでは機能しますが、$_POST[] から渡された変数では機能しません。

ここで回避策はありますか?ありがとうございました。

4

2 に答える 2

3

クエリ パラメータを少しクリーンアップすることができます。確かではありませんが、複数のバリエーションでコードを試してみると、完璧に機能しました!

あなたによると、

unlink('images/filename.jpg');

完璧に機能しています。次に、他のコードが機能しない理由がわかりません。

次のようにします: $image_id = trim($_POST["image_id"]);

ファイルを削除する前に、ファイルが存在するかどうかを確認してください。そうすれば、エラーの場所を確認できます。

$image_url = "images/{$image_id}";
if(file_exists($image_url)){
    unlink($image_url);
} else {
    die('file does not exist');
}
于 2013-07-14T05:10:27.920 に答える