例如,如果我上传的“profile1.jpg”到我的网站,然后再上传“profile1.png”或“profile1.gif”,新形象应该替换旧形象,如果文件名是相同的,即使该文件的扩展名是不同的. 我上传个人资料图片的代码是这样的:
if (isset($_POST['submit'])) {
$file = $_FILES['file'];
$fileName = $_FILES['file']['name'];
$fileTmpName = $_FILES['file']['tmp_name'];
$fileSize = $_FILES['file']['size'];
$fileType = $_FILES['file']['type'];
$fileError = $_FILES['file']['error'];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png', 'pdf');
if (in_array($fileActualExt, $allowed)) {
if ($fileError === 0) {
if ($fileSize < 1000000) {
$fileNameNew = "profile".$id.".".$fileActualExt;
$fileDestination = 'uploads/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination); /*Something like then_replace_all_files_with_this_filename (example) */
$sql = "UPDATE profileimg SET status=0 WHERE userid='$id';";
$result = mysqli_query($conn, $sql);
header("Location:index.php?upload=success");
} else {
echo "File too large!";
}
} else {
echo "Error uploading your file!";
}
} else {
echo "Format not allowed!";
}
}
您可以在调用 move_uploaded_file 之前立即执行以下操作:
foreach(glob("uploads/profile{$id}.*") as $match) {
unlink($match);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句