Olá! Pelo que pude entender, você está com problemas para salvar a imagem na pasta, certo? Vamos tentar resolver isso juntos.
Primeiramente, é importante verificar se a pasta 'img' onde você está tentando salvar a imagem existe e se ela tem as permissões corretas para escrita.
Além disso, percebi que você está verificando se a extensão do arquivo é 'png'. Caso o arquivo que você esteja tentando fazer upload não seja 'png', o código irá parar e retornar a mensagem de erro. Certifique-se de que o arquivo que você está tentando fazer upload é um arquivo 'png'.
Outro ponto é que você está utilizando a superglobal $_FILES
para acessar os dados do arquivo. Você deve se certificar que o nome do input no seu formulário HTML (neste caso, 'foto') corresponde ao nome que você está tentando acessar em $_FILES['foto']
.
Aqui está um exemplo de como seu código poderia ficar:
<?php
if(isset($_POST['acao'])){
$arquivo = $_FILES['foto'];
$arquivoNovo = explode('.', $arquivo['name']);
if($arquivoNovo[sizeof($arquivoNovo)-1] !== 'png'){
die("Erro, arquivo não aceito");
} else {
if(move_uploaded_file($arquivo['tmp_name'], 'img/' . $arquivo['name'])){
echo "Upload foi feito com sucesso!";
} else {
echo "Ocorreu um erro ao tentar mover o arquivo para a pasta img.";
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="foto"><br><br>
<input type="submit" name="acao" value="ENVIAR">
</form>
Neste exemplo, eu adicionei uma verificação para ver se a função move_uploaded_file()
foi bem sucedida. Se ela retornar false
, isso significa que houve um erro ao tentar mover o arquivo para a pasta 'img'.
Espero ter ajudado e bons estudos!