0

我当时在取消链接多张图片时遇到问题。我正在从一个文件夹中删除,其中图片的名称是从 $_POST“命令”中获取的。当我print_r("The $_POST here");这样显示时(有更多的一张图片)FolderName/picture1.jpgFoldername/picture2.jpg:。这就是为什么一次删除多张图片不起作用的原因吗?

我正在使用此代码删除图片,其中图片名称是从 MySQL 表中获取的:

if ($_POST["examplePost"]) {
        // DELETE PICTURE(s)
$maal = $row_exampleRow['picture'];

if (file_exists($maal)) {
    unlink($maal);
  }
}
4

2 回答 2

1

http://php.net/manual/en/function.unlink.php

unlink() 仅支持一个文件。

您可能需要考虑两种方法。

方法 1 在表单输入[]中发送它们

<form method='post'>
    <input name='filename[]'><BR/>
    <input name='filename[]'><BR/>
    <input name='filename[]'><BR/>
    <input name='filename[]'><BR/>
    <input name='filename[]'><BR/>
    <input name='filename[]'><BR/>
    <input type=submit>
</forM>

然后你可能会在 php 脚本中得到 POST 数组。

   array (size=1)
  'filename' => 
    array (size=6)
      0 => string 'aw' (length=2)
      1 => string 'awf' (length=3)
      2 => string 'fawf' (length=4)
      3 => string '' (length=0)
      4 => string '' (length=0)
      5 => string '' (length=0)

方法 2 您可能需要解析传入的字符串。像 explode(',' , $_POST['filenames']) ,如果它们是逗号分隔的。

<form method='post'>
    <input name='filenames'>
    <input type=submit>
</forM>
于 2013-09-04T20:09:29.420 回答
0

我想到了。我将复制整个代码:):

<?php
require_once('Connections/GeoPlassPosisjon_2.php');
require_once("uregistrerte_bilete.php");
?>
<?php
// Namn på knapp
if (isset($_POST["slettBileteUR"])) {
    // Namn på sjekkboks
  $checkbox = $_POST["cURBileteNamn"];
    $countCheck = count($_POST["cURBileteNamn"]);

for ($i = 0; $i < $countCheck; $i++) {
    $del_id = $checkbox[$i];

    $sql2 = "SELECT l_o_bid, bilete_namn FROM ur_lasta_opp_bileter WHERE l_o_bid = '$del_id'";
    $res2 = mysql_query($sql2);
    $count2 = mysql_fetch_row($res2);
    unset($count2[0]);
    foreach($count2 as $bilete_namnUR);

        // SLETTE BILETE
    // PHP kode for å slette bilete frå server mappa
// Visst $bilete_namnUR (bilete) eksistere --> slett $bilete_namnUR (bilete)
if (file_exists($bilete_namnUR)) {
    unlink($bilete_namnUR);
}

        $sql = "DELETE from ur_lasta_opp_bileter WHERE l_o_bid = $del_id";
        $res = mysql_query($sql) or die(mysqli_error('Kan desverre ikkje koble til databasen.'));
}

if ($res) {
    header ("location: uregistrerte_bilete.php");
} else {
    echo '<script type="text/javascript">', 'errorUrBilSlettJS();', '</script>';
  }
}   

?>

感谢大家对我的帮助!:)

于 2013-09-04T22:44:32.320 回答