使用php上传图像时,同时删除旧图像.(取消链接)

  • 本文关键字:图像 取消 链接 删除 php 使用 php
  • 更新时间 :
  • 英文 :


首先,我很抱歉使用谷歌翻译。我对这些事情了解不多。由于我在谷歌上的研究,我了解到我可以通过取消链接删除旧图像,但它不起作用。下面的代码将图像加载到数据库和文件中,但不会删除旧图像。

if ($_FILES['fotodort']['tmp_name'] != "")
{
$boyutdort = $_FILES['fotodort']['sizedort'];
$tip = mime_content_type($_FILES['fotodort']['tmp_name']);
if($tip!="image/jpeg" && $tip!="image/jpg" && $tip!="image/png" && $tip!="application/pdf"){
echo 'Dosya Jpeg veya Png yada Gif , PDF formatında olmalı';
}elseif ($boyutdort > (1024 * 1024 * 30)) {
echo 'Dosya 10MB den büyük olamaz.';
} else {
$tipdort = $_FILES['fotodort']['type'];
$isimdort = $_FILES['fotodort']['name'];
$uzantidort = explode('.', $isimdort);
$uzantidort = $uzantidort[count($uzantidort) - 1];
$randomdort = rand();
$dosyadort = $_FILES['fotodort']['tmp_name'];
$foto_urldort = $randomdort . "." . $uzantidort;
copy($dosyadort, '../assets/images/admin-img/' . $foto_urldort);
if (file_exists("../assets/images/admin-img/".$foto_urldort)) {
unlink("../assets/images/admin-img/".$foto_urldort);
}
$settings = $dbh->prepare("UPDATE general_settings SET foto_dark = '".$foto_urldort."' WHERE id=1 ");
$settings->execute();
}
}

我试图将从另一个系统中找到的代码集成到这个代码中,但我没能成功。

if (file_exists("../assets/images/admin-img/".$fotodort)) {
unlink("../assets/images/admin-img/".$fotodort);
}

如果你能帮忙,我将不胜感激。有20多个图像上传字段。我将用我将向你学习的方法更新所有这些。如果你教一个不同的代码结构来做同样的操作,它也会起作用。

我找到了一个解决方案,系统运行良好。您是否检查块序列是否在正确的位置?

if ($_FILES['fotodort']['tmp_name'] != "") {
$boyutdort = $_FILES['fotodort']['sizedort'];
$tip = mime_content_type($_FILES['fotodort']['tmp_name']);
if($tip!="image/jpeg" && $tip!="image/jpg" && $tip!="image/png" && $tip!="application/pdf"){
echo 'Dosya Jpeg veya Png yada Gif , PDF formatında olmalı';
}elseif ($boyutdort > (1024 * 1024 * 30)) {
echo 'Dosya 10MB den büyük olamaz.';
} else {
$tipdort = $_FILES['fotodort']['type'];
$isimdort = $_FILES['fotodort']['name'];
$uzantidort = explode('.', $isimdort);
$uzantidort = $uzantidort[count($uzantidort) - 1];
$randomdort = rand();
$dosyadort = $_FILES['fotodort']['tmp_name'];
$foto_urldort = $randomdort . "." . $uzantidort;
copy($dosyadort, '../assets/images/admin-img/' . $foto_urldort);
echo " 
<script>
const Toast = Swal.mixin({
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 6000,
timerProgressBar: true,
didOpen: (toast) => {
toast.addEventListener('mouseenter', Swal.stopTimer)
toast.addEventListener('mouseleave', Swal.resumeTimer)
}
})
Toast.fire({
icon: 'success',
title: 'Başarı ile güncellendi.'
})
</script> ";
$settings = $dbh->prepare("UPDATE general_settings SET foto_dark = '".$foto_urldort."' WHERE id=1 ");
$settings->execute();

if (file_exists('../assets/images/admin-img/'.$_POST['eskiresimsil']) && $dosyadort) {
unlink('../assets/images/admin-img/'.$_POST['eskiresimsil']);
}

}
}

我在提交按钮前写下了旧的图像名称:

<input type="hidden" name="eskiresimsil" value="<?=$ayar['foto_dark'];?>">

尝试这个

if ($_FILES['fotodort']['tmp_name'] != "") {
$size = $_FILES['fotodort']['sizedort'];
$type = mime_content_type($_FILES['fotodort']['tmp_name']);
if($type!="image/jpeg" && $type!="image/jpg" && $type!="image/png" && $type!="application/pdf"){
echo 'Dosya JPEG/JPG, PNG, yada PDF formatında olmalı';
}elseif ($boyutdort > (1024 * 1024 * 30)) {
echo 'Dosya 10MB den büyük olamaz.';
} else {
$dosyadort = $_FILES['fotodort']['tmp_name'];
$name = rand().$_FILES['fotodort']['extension'];
copy($dosyadort, '../assets/images/admin-img/' . $name);
$upload = $dbh->prepare("UPDATE general_settings SET foto_dark ='".$foto_urldort."' WHERE id=1");
$upload->execute();
if (file_exists("../assets/images/admin-img/".$fotodort) && $dosyadort) {
unlink("../assets/images/admin-img/".$fotodort);
}
}
}

最新更新