使用 unlink 删除多个文件
Delete more than one file using unlink
您好,我得到了这个简单的删除脚本,但我只能用它来删除文件夹中的一个文件。我尝试了一些不同的东西试图循环取消链接,但它不会工作。有谁知道是怎么做到的?
$id = $_GET['id'];
$sql_get = "SELECT shop.id, shop.overskrift, shop.pris, shop.text, shop_pictures.ShopPictures_id, shop_pictures.shop_pictures_file
FROM shop INNER JOIN shop_pictures
ON shop.id = shop_pictures.fk_shop_pictures_shop_id WHERE Id=$id";
$result_get = mysqli_query($connection, $sql_get);
$row = mysqli_fetch_all($result_get);
$sql = "DELETE FROM shop WHERE Id=$id";
$result = mysqli_query($connection, $sql);
$sql = "DELETE FROM shop_pictures WHERE fk_shop_pictures_shop_id=$id";
if(!empty($row)) {
foreach($row as $data) {
unlink('../../img/shop_pictures/'.$data['shop_pictures_file']);
}
}
$result = mysqli_query($connection, $sql);
//header('Location: ../members.php');exit;
您的代码极易受到 SQL Injection 的影响,因此您可能需要解决这个问题。但是,您需要遍历结果。
$row = mysqli_fetch_array($result_get);
只获取一个结果,确保你使用这样的东西:
$row = mysqli_fetch_all($result_get, MYSQLI_ASSOC);
if(!empty($row) {
foreach($row as $data) {
unlink('../../img/shop_pictures/'.$data['shop_pictures_file']);
}
}
或者你可以这样做:
while ($row = mysql_fetch_array($result_get)) {
unlink('../../img/shop_pictures/'.$row['shop_pictures_file']);
}
这应该能为您指明正确的方向。
您好,我得到了这个简单的删除脚本,但我只能用它来删除文件夹中的一个文件。我尝试了一些不同的东西试图循环取消链接,但它不会工作。有谁知道是怎么做到的?
$id = $_GET['id'];
$sql_get = "SELECT shop.id, shop.overskrift, shop.pris, shop.text, shop_pictures.ShopPictures_id, shop_pictures.shop_pictures_file
FROM shop INNER JOIN shop_pictures
ON shop.id = shop_pictures.fk_shop_pictures_shop_id WHERE Id=$id";
$result_get = mysqli_query($connection, $sql_get);
$row = mysqli_fetch_all($result_get);
$sql = "DELETE FROM shop WHERE Id=$id";
$result = mysqli_query($connection, $sql);
$sql = "DELETE FROM shop_pictures WHERE fk_shop_pictures_shop_id=$id";
if(!empty($row)) {
foreach($row as $data) {
unlink('../../img/shop_pictures/'.$data['shop_pictures_file']);
}
}
$result = mysqli_query($connection, $sql);
//header('Location: ../members.php');exit;
您的代码极易受到 SQL Injection 的影响,因此您可能需要解决这个问题。但是,您需要遍历结果。
$row = mysqli_fetch_array($result_get);
只获取一个结果,确保你使用这样的东西:
$row = mysqli_fetch_all($result_get, MYSQLI_ASSOC);
if(!empty($row) {
foreach($row as $data) {
unlink('../../img/shop_pictures/'.$data['shop_pictures_file']);
}
}
或者你可以这样做:
while ($row = mysql_fetch_array($result_get)) {
unlink('../../img/shop_pictures/'.$row['shop_pictures_file']);
}
这应该能为您指明正确的方向。