Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou usando a função do Dropzone para fazer o upload de imagens, mas queria que ele renomeasse a imagem. Se faço o upload de uma imagem com nome casa.jpg e depois uso uma imagem diferente com o mesmo nome, ele simplesmente mostra a imagem anterior. Queria uma ajuda então para tentar resolver isso, no código que tenho, saber aonde posso alterar, para usar alguma função md5 por exemplo segue meu código:
<?php
if (! empty($_FILES)) { $imagePath = isset($_FILES["file"]["name"])? $_FILES["file"]["name"]: "Undefined". $targetPath = "uploads/". $imagePath = $targetPath. $imagePath. $tempFile = $_FILES['file']['tmp_name']. $targetFile = $targetPath. $_FILES['file']['name']. if (move_uploaded_file($tempFile, $targetFile)) { echo "true". } else { echo "false". }
}
if (! empty($_GET["action"]) && $_GET["action"] == "save") { session_start(). include_once("database/conexao.php"). print $sql = "INSERT INTO images_info (image_path) VALUES ('". $imagePath. "')". mysqli_query($conn, $sql). $current_id = mysqli_insert_id($conn). }?>>
3 minutos atrás, tetsuo disse:
Altere a linha 8
Alterar para o que?
Pelo que estou vendo a mudança deve ser na linha 4
$imagePath = $targetPath . $imagePath;
Utilize-se dessa minha classe:
Exemplo de uso:
$Upload = new ImageUpload('diretorio_para_salvar/'); // Local onde você quer salvar as imagens
$Upload->sendImage($_FILES['** ARQUIVO **'], 'nome_para_imagem'); // O arquivo com o nome que desejar
Lógico que "**** ARQUIVO ****" o name do input de envio
Se você não especificar um diretório de salvamento a classe vai criar um no mesmo local onde ela está com o nome de "**upload**"
Para registrar o banco de dados resgate no nome da imagem usando o método "**getImgName()**"
Exemplo na prática:
Spoiler
<?php
require 'ImageUpload.php';
$filter = filter_input_array(INPUT_POST, FILTER_DEFAULT);
if ($filter && $filter['envio']) {
$Upload = new ImageUpload('diretorio_para_salvar/');
$Upload->sendImage($_FILES['image'], 'nome_para_imagem');
if ($Upload->getResult()) {
echo "Enviou<hr> O nome salvo é: {$Upload->getImgName()}, use esse nome para gravar no banco de dados";
} else {
echo "Qualquer documentação para erro no envio<hr>";
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image" accept=".jpg,.jpeg" />
<br>
<input type="submit" name="envio" value="Enviar Arquivo">
</form>>
3 horas atrás, Omar~ disse:
Utilize-se dessa minha classe:
Exemplo de uso:
$Upload = new ImageUpload('diretorio_para_salvar/'); // Local onde você quer salvar as imagens
$Upload->sendImage($_FILES['** ARQUIVO **'], 'nome_para_imagem'); // O arquivo com o nome que desejar
Lógico que "**** ARQUIVO ****" o name do input de envio
Se você não especificar um diretório de salvamento a classe vai criar um no mesmo local onde ela está com o nome de "**upload**"
Para registrar o banco de dados resgate no nome da imagem usando o método "**getImgName()**"
Exemplo na prática:
Mostrar conteúdo oculto
<?php
require 'ImageUpload.php';
$filter = filter_input_array(INPUT_POST, FILTER_DEFAULT);
if ($filter && $filter['envio']) {
$Upload = new ImageUpload('diretorio_para_salvar/');
$Upload->sendImage($_FILES['image'], 'nome_para_imagem');
if ($Upload->getResult()) {
echo "Enviou<hr> O nome salvo é: {$Upload->getImgName()}, use esse nome para gravar no banco de dados";
} else {
echo "Qualquer documentação para erro no envio<hr>";
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image" accept=".jpg,.jpeg" />
<br>
<input type="submit" name="envio" value="Enviar Arquivo">
</form>
Acho que não entendeu, todas as imagens ficm no mesmo diretório, o que preciso é gravar a imagem com nomes aleatórios, isso se faz com o md5, mas não sei ali aonde inserir a função, para na hora de cadastrar uma imagem como o nome casa,.jpg ela grave com o nome 06hgd645gkdmxid.jpg por exemplo.Para quem puder ver melhor, está o arquivo aqui completo do dropzone.
Só subir o banco de dados e configurar o arquivo conexao.php
bem simples. Aí podem testar para ver como eu poderia fazer o upload da imagem como nome gerado pelo md5
https://mega.nz/#!z7ojHKZa!ZXd9ufRyob6m2fY045U9UVKz37SuieY-8G101A2rNz0
Altere a linha 8
>
18 minutos atrás, Marxrj disse:
$targetFile = $targetPath . $_FILES['file']['name'];