question

mudar o nome de imagem (foto) enquanto o upload em php?

JAI MATADI todos. .

m carregar minha imagem usando PHP em que eu estou usando também o mysql para banco de dados...

m carregar a foto (s) pela primeira vez no diretório chamado (upload), em seguida, m somente carregar o nome da pasta + imagename (i. e. - upload/image1.gif) em banco de dados mysql... e, em seguida, buscando em minha webpage(s) também... com isso...

mas m recebendo um problema fazendo isso... se meu i já enviou imagens chamada (image1.gif) e se o usuário novamente carregá-los com o mesmo nome e extensão, em seguida, minha imagem anterior automaticamente removendo a imagem previamente carregada e mudando para um presente...

então o que eu quero fazer é se minha imagem chamado (image1.gif) já carregado então eu quero renomeá-lo durante meu código php algo como (image2.gif)...

se (image2.gif) está lá, em seguida, novamente aumentará para (image3.gif) etc. etc. .

alguém pode me dizer como fazer isso com código...

Aqui está o meu código para suas informações de tipo... m o que fazer. .


-
mypage.php

<form method="post" enctype="multipart/form-data" name="f1" id="f1">

<input type="file" name="file1" id="file1">
<input type="submit" name="submit" id="submit" value="Submit">

</form>

<?php?>

if(isset($_POST["submit"]))
{

mysql_connect("localhost","root","");
mysql_select_db("alldatabase");
US $path1 = "carregar /";
US $path1 = $path1. $ _ Files ["arquivo1"] ["nome"];
$ _ Files ["arquivo1"] ["tmp_name"];
move_uploaded_file($_FILES["File1"]["tmp_name"],$path1);

$qry = "inserir no cadastro (passaporte) values('$path1')";
if(!mysql_query($qry))
{
eco mysql_error ();
}
outra
{
eco "Você tem feito com sucesso sua conta";
}
}
?>

-

por favor me diga como posso verificar se o por favor me diga como verificar se a imagem já existe ou não. e se já existe como posso renomeá-lo... com o incremento de números no final do nome de imagem ou algo assim... qualquer ajuda será apreciada por isso... m na fase de final de meu projeto... Obrigado um lott...
resposta Resposta
Para resolver o problema de mudar o nome da imagem durante o upload em PHP e evitar que imagens com o mesmo nome sejam sobrescritas, você pode seguir os seguintes passos:

1. Verificar se a imagem já existe no diretório de upload. Isso pode ser feito usando a função file_exists() do PHP. Por exemplo:



```php

if(file_exists($path1)) {

// Renomear a imagem

$path_parts = pathinfo($path1);

$extension = $path_parts['extension'];

$filename = $path_parts['filename'];

$counter = 1;

while(file_exists("carregar/" . $filename . $counter . "." . $extension)) {

$counter++;

}

$new_filename = $filename . $counter . "." . $extension;

$path1 = "carregar/" . $new_filename;

}

```

2. Em seguida, você precisará fazer a alteração na sua consulta de inserção para o banco de dados para usar o novo caminho da imagem:

```php

$qry = "INSERT INTO cadastro (passaporte) values('$path1')";

```

Isso garantirá que, se a imagem já existir, ela será renomeada com um número incremental antes de ser carregada no diretório.

3. Além disso, é importante adicionar uma verificação no momento de buscar as imagens para garantir que você esteja utilizando o caminho correto da imagem com o nome renomeado.

Ao seguir esses passos, você conseguirá evitar a sobrescrição de imagens com o mesmo nome durante o upload em PHP e garantirá que cada imagem tenha um nome único. Lembre-se de fazer os ajustes necessários no restante do seu código para que ele funcione corretamente com as alterações propostas. Espero que isso ajude a resolver o seu problema e boa sorte com o final do seu projeto!

ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta



Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved