※ ChatGPTを利用し、要約された質問です(原文:画像をアップロードする度に古い画像を削除)
画像のアップロード時に古い画像を削除する方法は?
このQ&Aのポイント
画像をアップロードする度に古い画像を削除する方法を教えてください。
画像のリアルタイムプレビューを作成しましたが、アップロードする度に増えてしまう問題があります。
unlinkを使用して削除を考えましたが、削除とアップロードの両立ができませんでした。
お世話になっております。
とあるサイトのソースを参考に画像のリアルタイムプレビューを作成しました。
画像を上げプレビューを表示することはできたのですが画像を上げる度に次々と表示される画像が増えてしまいます。
画像を新しく上げる場合は以前に入っていた画像を削除する、
もしくは最後に上げた画像のみをプレビュー表示する方法はありますでしょうか?
unlinkを使用して削除を考えたのですが、
削除とアップロードの両立ができませんでした。
以下が使用しているソースになります。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>jQuery.uploadのサンプル</title>
<script type="text/javascript" src="./js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="./js/jquery.upload-1.0.2.min.js"></script>
<script type="text/javascript">
$(function() {
$('#file_id').change(function() {
$(this).upload('upload.php', function(res) {
$(res).insertAfter(this);
}, 'html');
});
});
</script>
</head>
<body>
<style>
.thumb {
height: 200px;
border: 1px solid #000;
margin: 10px 5px 0 0;
}
</style>
<input type="file" name="upload_file" id="file_id">
</body>
</html>
<?php
#アップロードされたファイルが存在するか
if ( !is_uploaded_file( $_FILES['upload_file']['tmp_name'] ) ) {
echo '<div>ファイルが選択されていません。</div>';
exit();
}
#$_FILES["upload_file"]["tmp_name"]がテンポラリにあるファイル名
#$_FILES["upload_file"]["name"]がアップロード元のファイル名
#tmpからファイルをコピー
move_uploaded_file($_FILES["upload_file"]["tmp_name"], "files/" . $_FILES["upload_file"]["name"]);
echo '<div>'.$_FILES["upload_file"]["name"].'をアップロードしました</div>';
echo '<img class="thumb" src="files/' . $_FILES["upload_file"]["name"] . '">'
?>
どなたかご回答いただけましたら幸いでございます。
どうぞ宜しくお願いします。