Upload de imagens para evitar duplicações
Pessoal. Sou iniciante em php, estou tentando criar um sistema de upload de imagens básico.
O que eu quero que ele faça é: pegue um arquivo, exemplo: imagem.jpg, verifique se esse arquivo já existe no diretório, se sim, ele faça com que apareça um número antes de seu nome exemplo:
1imagem.jpg
O script que estou usando é este:
<?php
if(isset($_POST['send'])){
$arch = $_FILES['arch'];
echo '<pre>'; print_r($arch); echo '</pre>';
$typepermit = array('image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png', 'text/plain');
$ext = ($arch['type'] == 'text/plain' ? '.txt' : ($arch['type'] == 'image/png' ? '.png' : '.jpg'));
$size = 1024*1024*10;
if($arch['size'] > $size){
echo 'O limite de tamanho do arquivo é '.$size;
}elseif(!in_array($arch['type'],$typepermit)){
echo 'Apenas imagens ou docuumentos, por favor!';
}else{
$folder = ($arch['type'] == 'text/plain' ? 'documents' : 'images');
$folder = 'uploads/'.$folder;
$name = str_replace(' ','_',$arch['name']);
$number_add = 0;
$number_add++;
if(!file_exists("uploads/".$folder.$arch['name'])){
move_uploaded_file($arch['tmp_name'],$folder.'/'.$name);
echo 'Enviado!';
}elseif(file_exists("uploads/".$folder.$arch['name'])){
move_uploaded_file($arch['tmp_name'],$folder.'/'.$number_add.$name);
echo 'Enviado!, Arquivo com nome de:';
echo $number_add;
}else{
echo 'Erro ao enviar!';
echo $filename;
}
}
}
// Upload!
?>
<hr />
<form name="form_login" action="" method="post" enctype="multipart/form-data">
<label>
<span>File:</span> <br />
<input type="file" name="arch" />
</label>
<br />
<br />
<input type="submit" value="Send" name="send" />
</form>
Gostaria de saber onde estou errando nesta parte:Especificamente:
if(!file_exists("uploads/".$folder.$arch['name'])){
move_uploaded_file($arch['tmp_name'],$folder.'/'.$name);
echo 'Enviado!';
}elseif(file_exists("uploads/".$folder.$arch['name'])){
move_uploaded_file($arch['tmp_name'],$folder.'/'.$number_add.$name);
echo 'Enviado!';
echo $number_add;
}else{
echo 'Erro ao enviar!';
echo $filename;
}
Toda vez que tento enviar a mesma imagem, com o mesmo nome, ele sempre substitui a anterior, nunca coloca o número antes de seu nome, o que está errado?Desde já, agradeço.Discussão (11)
Carregando comentários...