Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas galera do forum! Sei que deve ser básico e até achei muito material no google, porém quero entender melhor o conceito e também entender o porque de não funcionar no meu caso.
Preciso deletar apenas a foto de uma notícia apenas quando o cara fizer o upload de uma nova foto, caso contrário, manter a mesma no banco e no diretório.
Minha dúvida é justamente nessa questão, alguem poderia me dar um exemplo, algo que seja o mais correto?
<form name="form" method="POST" enctype="multipart/form-data" action="?definidor=edita_post">
<label>Título</label>
<input type="text" name="titulo" value="<?php echo utf8_encode($noticia[titulo]) ?>"/>
<label>Foto destaque</label>
<img style="width:150px;" src="../uploads/blog/<?php echo $post; ?>/<?php echo $noticia[foto_destaque]; ?>" border="0">
<label>Mudar Foto?</label>
<input type="file" name="foto_destaque_new" value="<?php echo $noticia[foto_destaque]; ?>"/>
</form>
Como faço pra deletar do banco e do diretório apenas se o cara "subir" novo arquivo e cadastrar a nova foto e caso contrário manter a mesma foto?
>
No arquivo que processará esse formulário, você fará uma leitura no banco de dados para saber seu já tem uma foto cadastrada, se tiver, pega o nome do arquivo e procura (ou apaga ela) na pasta das imagens, em seguida salva o novo arquivo nessa pasta e atualiza o banco de dados com o novo arquivo.
Caso não exista a imagem, fará apenas o insert e não o update no banco de dados e salva a imagem na pasta.
Entendi a lógica Vinicius Ianni, mas como eu falei queria um exemplo disso, principalmente da parte de:
Grato.
Então galera, eu consegui fazer o upload do arquivo novo e salvar no BD, agora só preciso deletar os arquivos antigos caso tenha um novo. Como faço isso?
Com base no ID do registro a ser editado, você deve fazer uma consulta com base nesse ID, pra poder pegar o caminho do arquivo que já está salvo, depois disso, você deve utilizar a função
unlink();
para apagar o arquivo, tendo sucesso, você grava o outro.
Mais informações: http://php.net/unlink
No arquivo que processará esse formulário, você fará uma leitura no banco de dados para saber seu já tem uma foto cadastrada, se tiver, pega o nome do arquivo e procura (ou apaga ela) na pasta das imagens, em seguida salva o novo arquivo nessa pasta e atualiza o banco de dados com o novo arquivo.
Caso não exista a imagem, fará apenas o insert e não o update no banco de dados e salva a imagem na pasta.