1

ユーザーが各画像の詳細を適宜更新できるように、テーブル内のすべての画像をそれぞれのタイトルと説明とともに返す単純なwhileループを設定しました。

画像は、ユーザーがphpコードに従って画像を削除できるようにするチェックボックスとともに返されます

if($_POST['doDelete'] == 'Delete') {

if(!empty($_POST['u'])) {
    foreach ($_POST['u'] as $uid) {
        $id = filter($uid);
        mysql_query("delete from landscape where id='$id'");
    }
 }
 $ret = $_SERVER['PHP_SELF'] . '?'.$_POST['query_str'];;

 header("Location: $ret");
 exit();
}

unlink()ファイルもサーバーから削除されるように、関数をページに組み込むにはどうすればよいですか?

4

3 に答える 3

1

Unlink()次のようなループ内で使用するだけです。

foreach ($_POST['u'] as $uid) {
    $id = filter($uid);
    if(mysql_query("delete from landscape where id='$id'")){
    unlink( '/path/to/images/' . $id);
    }
}

私が使用Ifしたのは、ファイルがデータベースから正常に削除された場合にのみ、サーバーから削除されるためです。また、ファイルをファイル名でフォルダに移動した場合は、まずデータベースからファイルに関する情報を取得してから$id

unlink( '/path/to/images/' . $file_name);

代わりは

unlink( '/path/to/images/' . $id);

それがあなたを助けることを願っています。

于 2011-06-23T18:54:30.093 に答える
0

IDに従って画像に名前が付けられている場合:

foreach ($_POST['u'] as $uid) {
    $id = filter($uid);
    mysql_query("delete from landscape where id='$id'");
    unlink( '/path/to/images/' . $id);
}

クエリまたはunlinkステートメントで使用する前に、必ず$idを適切にエスケープしてください。

于 2011-06-23T18:49:59.927 に答える
-1

さて、ファイルはサーバーのどこに保存されていますか?それらはどのように保存されますか?unlink画像が保存されている場所につながるファイルパスで呼び出すだけです。

于 2011-06-23T18:48:47.107 に答える