Well, I'm thinking of a way to register items in a database, though, I thought:
"What if the item has an image?"
So I wrote a script to send this image, however, I do not know if it is correct or not to pass $_FILES
as a parameter of a function that will be called in another script. So, could you help me by saying if there are any errors, or if there is another way to send the image?
function adicionaCarta($cardName, $cardQuantity, $cardEditionID, $cardTypeID, $cardAttibuteID, $cardMonsterTypeID, $cardLRL, $cardATK, $cardDEF, $cardDesc, $cardStatusID, $query, $conexao){
if(isset($_FILES['imagem-card']['name']) && $_FILES['imagem-card']['error'] == 0){
$arquivo_tmp = $_FILES['imagem-card']['tmp_name'];
$nomeCard = $_FILES['imagem-card']['name'];
// Pega a extensão
$extensao = pathinfo($nomeCard, PATHINFO_EXTENSION);
// Converte a extensão para minúsculo
$extensao = strtolower($extensao);
// Somente imagens, .jpg;.jpeg;.gif;.png
if(strstr('.jpg;.jpeg;.gif;.png', $extensao)){
// Cria um nome único para esta imagem
// Evita que duplique as imagens no servidor.
// Evita nomes com acentos, espaços e caracteres não alfanuméricos
$novoNomeCard = uniqid(time()) . '.' . $extensao;
// Concatena a pasta com o nome
$destino = '../img/cards/' . $novoNomeCard;
// tenta mover o arquivo para o destino
if(@move_uploaded_file($arquivo_tmp, $destino)){
mysqli_query($conexao, $query);
}else{
echo 'Erro ao salvar o arquivo. Aparentemente você não tem permissão de escrita.<br />';
}
}else{
echo 'Você poderá enviar apenas arquivos "*.jpg;*.jpeg;*.gif;*.png"<br />';
}
}else{
echo 'Você não enviou nenhum arquivo!';
}
}