Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom, já fiz várias pesquisas de como funciona e como fazer, mas tenho dificuldade de aplicar em meu código.
É o seguinte, o sistema pega a foto.png e coloca no servidor, ai se eu pegar outra foto e upar com o mesmo nome, a foto será reposta no lugar da primeira upada. Queria saber como faço para alterar os nomes das imagens na hora do upload não causar transtorno nos usuários do meu site. Já vi vários tutoriais usando MD5 mas não aplicar ao meu código, alguém poderia me ajudar?
<?php
include("config.php");
$id= $_SESSION['SESS_MEMBER_ID'];
$user= $_SESSION['SESS_FIRST_NAME'];
if (!isset($_FILES['image']['tmp_name'])) {
echo "";
}else{
$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
$image_size= getimagesize($_FILES['image']['tmp_name']);
if ($image_size==FALSE) {
echo "Isso não é uma imagem!";
}else{
move_uploaded_file($_FILES["image"]["tmp_name"],"imagens/" . $_FILES["image"]["name"]);
$location="imagens/" . $_FILES["image"]["name"];
$update2=mysql_query("UPDATE postcomment SET pic = '$location' WHERE commentedby='$user'");
$update3=mysql_query("UPDATE message SET picture = '$location' WHERE user='$user'");
mysql_close($con);
if(!$update=mysql_query("UPDATE membros SET profImage = '$location' WHERE membro_id='$id'")) {
echo mysql_error();
}
else{
echo '<script> location.href="index.php"; </script>';
exit();
}
}
}
?>>
Olá, tudo bem?
Você já pesquisou na documentação?
http://php.net/move_uploaded_file
bool move_uploaded_file ( string $filename , string $destination )
move_uploaded_file($tmp_name, "$uploads_dir/$name");
Você já pesquisou na documentação?
Ou seja:
Se você colocar:
move_uploaded_file($_FILES["image"]["tmp_name"], 'diretorio/nome_que_eu_quiser.png');
Ele vai salvar lá =)
move_uploaded_file($_FILES["image"]["tmp_name"],"imagens/" . md5($_FILES["image"]["name"].date('YmdHis')));
É só um exemplo =)
Espero ter ajudado.
Bom, fiz o que você disse, mas o extensão da imagem não é colocada no final do nome, mas já é praticamente a maratona andada! Muito Obrigado e lerei mais a documentação.
Para os nomes nunca se repetir você pode pegar o ID do usuário logado e colocar no nome das fotos, se quiser deixar mais complexo pega a atual data e o id do cara e joga na foto.
Ficaria mais ou menos assim, na page que você verifica se o usuário existe e deixa ele logar você cria uma SESSION['id'] que recebe o ID do cara, ai na page de upload faz $id = SESSION['id'].
move_uploaded_file($_FILES["image"]["tmp_name"], 'diretorio/'.$id.'');
Olá, segue uma dica, usa essa biblioteca > www.bittenagency.com
Vai te ajudar muito, boa reutilização de código.
A própria biblioteca já faz alteração do nome ao enviar, converte imagens e muito mais.
Segue o link acima.
Olá, tudo bem?
Você já pesquisou na documentação?
http://php.net/move_uploaded_file
bool move_uploaded_file ( string $filename , string $destination )
move_uploaded_file($tmp_name, "$uploads_dir/$name");
Você já pesquisou na documentação?
Ou seja:
Se você colocar:
move_uploaded_file($_FILES["image"]["tmp_name"], 'diretorio/nome_que_eu_quiser.png');
Ele vai salvar lá =)
move_uploaded_file($_FILES["image"]["tmp_name"],"imagens/" . md5($_FILES["image"]["name"].date('YmdHis')));
É só um exemplo =)
Espero ter ajudado.