Eai galera, alguém tem ideia de como fazer um sistema de múltiplos uploads de arquivos, mas com pastas diferentes, eu tenho um sistema de upload funcional que meu professor me ajudou a fazer que funcionar super bem, eu faço o upload de um arquivo que no caso é uma imagem, mas ele só grava o nome no banco de dados e salva o arquivo em si numa pasta configurada, só que preciso de um outro upload pra um arquivo .zip que no caso seria um produto que irá pra uma pasta distinta da qual vão as imagens e o seu nome no banco de dados irá ser salvo pra uma coluna destina na qual é NOME_PRODUTO, como posso fazer? vou anexar o arquivo em php a qual utilizo pra fazer o upload da imagem, quem poder me ajudar fico grato dms, segue o código que utilizo pra fazer o upload
//Pasta onde o arquivo vai ser salvo
$_UP['pasta'] = '../../img/produtos/';
//Tamanho máximo do arquivo em Bytes
$_UP['tamanho'] = 1024*1024*100; //5mb
//Array com a extensões permitidas
$_UP['extensoes'] = array('png', 'jpg', 'jpeg', 'gif');
//Renomeiar
$_UP['renomeia'] = false;
//Array com os tipos de erros de upload do PHP
$_UP['errors'][0] = 'Não houve erro';
$_UP['errors'][1] = 'O arquivo no upload é maior que o limite do PHP';
$_UP['errors'][2] = 'O arquivo ultrapassa o limite de tamanho especificado no HTML';
$_UP['errors'][3] = 'O upload do arquivo foi feito parcialmente';
$_UP['errors'][4] = 'Não foi feito o upload do arquivo';
//Verifica se houve algum erro com o upload. Sem sim, exibe a mensagem do erro
if($_FILES['arquivo']['error'] != 0){
die("Não foi possivel fazer o upload, erro: <br />". $_UP['errors'][$_FILES['arquivo']['error']]);
exit; //Para a execução do script
}
//Faz a verificação da extensao do arquivo
$extensao = strtolower(end(explode('.', $_FILES['arquivo']['name'])));
if(array_search($extensao, $_UP['extensoes'])=== false){
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.kingscripts.com.br/Administrar/Paginas/Adicionar_produtos.php'>
<script type=\"text/javascript\">
alert(\"O produto não foi inserido, extesão inválida.\");
</script>
";
}
//Faz a verificação do tamanho do arquivo
else if ($_UP['tamanho'] < $_FILES['arquivo']['size']){
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.kingscripts.com.br/Administrar/Paginas/Adicionar_produtos.php'>
<script type=\"text/javascript\">
alert(\"Arquivo muito grande.\");
</script>
";
}
//O arquivo passou em todas as verificações, hora de tentar move-lo para a pasta foto
else{
//Primeiro verifica se deve trocar o nome do arquivo
if($_UP['renomeia'] == true){
//Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .jpg
$nome_final = time().'.jpg';
}else{
//mantem o nome original do arquivo
$nome_final = $_FILES['arquivo']['name'];
}
//Verificar se é possivel mover o arquivo para a pasta escolhida
if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta']. $nome_final)){
//Upload efetuado com sucesso, exibe a mensagem
$query = mysqli_query($conn, "INSERT INTO produtos (valor, bot, vocacao, nome, hash_file, name_file, img, descricao, created) VALUES('$valor', '$bot', '$vocacao', '$nome', '$hash', '$name_file', '$nome_final', '$descricao', NOW())");
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.kingscripts.com.br/Administrar/Paginas/Adicionar_produtos.php'>
<script type=\"text/javascript\">
alert(\"Produto inserido com Sucesso.\");
</script>
";
}else{
//Upload não efetuado com sucesso, exibe a mensagem
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.kingscripts.com.br/Administrar/Paginas/Adicionar_produtos.php'>
<script type=\"text/javascript\">
alert(\"Produto não foi inserido com Sucesso.\");
</script>
";
}
}
Pergunta
Pedro Lukas
Eai galera, alguém tem ideia de como fazer um sistema de múltiplos uploads de arquivos, mas com pastas diferentes, eu tenho um sistema de upload funcional que meu professor me ajudou a fazer que funcionar super bem, eu faço o upload de um arquivo que no caso é uma imagem, mas ele só grava o nome no banco de dados e salva o arquivo em si numa pasta configurada, só que preciso de um outro upload pra um arquivo .zip que no caso seria um produto que irá pra uma pasta distinta da qual vão as imagens e o seu nome no banco de dados irá ser salvo pra uma coluna destina na qual é NOME_PRODUTO, como posso fazer? vou anexar o arquivo em php a qual utilizo pra fazer o upload da imagem, quem poder me ajudar fico grato dms, segue o código que utilizo pra fazer o upload
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
</head>
</body>
<?php
include_once("conexao.php");
$valor = $_POST['valor'];
$bot = $_POST['bot'];
$vocacao = $_POST['vocacao'];
$nome = $_POST['nome'];
$hash_file = $_POST['hash_file'];
$options = ['cost' => 8];
$hash = password_hash($hash_file, PASSWORD_BCRYPT, $options);
$name_file = $_POST['name_file'];
$arquivo = $_FILES['arquivo']['name'];
$descricao = $_POST['descricao'];
//Pasta onde o arquivo vai ser salvo
$_UP['pasta'] = '../../img/produtos/';
//Tamanho máximo do arquivo em Bytes
$_UP['tamanho'] = 1024*1024*100; //5mb
//Array com a extensões permitidas
$_UP['extensoes'] = array('png', 'jpg', 'jpeg', 'gif');
//Renomeiar
$_UP['renomeia'] = false;
//Array com os tipos de erros de upload do PHP
$_UP['errors'][0] = 'Não houve erro';
$_UP['errors'][1] = 'O arquivo no upload é maior que o limite do PHP';
$_UP['errors'][2] = 'O arquivo ultrapassa o limite de tamanho especificado no HTML';
$_UP['errors'][3] = 'O upload do arquivo foi feito parcialmente';
$_UP['errors'][4] = 'Não foi feito o upload do arquivo';
//Verifica se houve algum erro com o upload. Sem sim, exibe a mensagem do erro
if($_FILES['arquivo']['error'] != 0){
die("Não foi possivel fazer o upload, erro: <br />". $_UP['errors'][$_FILES['arquivo']['error']]);
exit; //Para a execução do script
}
//Faz a verificação da extensao do arquivo
$extensao = strtolower(end(explode('.', $_FILES['arquivo']['name'])));
if(array_search($extensao, $_UP['extensoes'])=== false){
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.kingscripts.com.br/Administrar/Paginas/Adicionar_produtos.php'>
<script type=\"text/javascript\">
alert(\"O produto não foi inserido, extesão inválida.\");
</script>
";
}
//Faz a verificação do tamanho do arquivo
else if ($_UP['tamanho'] < $_FILES['arquivo']['size']){
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.kingscripts.com.br/Administrar/Paginas/Adicionar_produtos.php'>
<script type=\"text/javascript\">
alert(\"Arquivo muito grande.\");
</script>
";
}
//O arquivo passou em todas as verificações, hora de tentar move-lo para a pasta foto
else{
//Primeiro verifica se deve trocar o nome do arquivo
if($_UP['renomeia'] == true){
//Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .jpg
$nome_final = time().'.jpg';
}else{
//mantem o nome original do arquivo
$nome_final = $_FILES['arquivo']['name'];
}
//Verificar se é possivel mover o arquivo para a pasta escolhida
if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta']. $nome_final)){
//Upload efetuado com sucesso, exibe a mensagem
$query = mysqli_query($conn, "INSERT INTO produtos (valor, bot, vocacao, nome, hash_file, name_file, img, descricao, created) VALUES('$valor', '$bot', '$vocacao', '$nome', '$hash', '$name_file', '$nome_final', '$descricao', NOW())");
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.kingscripts.com.br/Administrar/Paginas/Adicionar_produtos.php'>
<script type=\"text/javascript\">
alert(\"Produto inserido com Sucesso.\");
</script>
";
}else{
//Upload não efetuado com sucesso, exibe a mensagem
echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.kingscripts.com.br/Administrar/Paginas/Adicionar_produtos.php'>
<script type=\"text/javascript\">
alert(\"Produto não foi inserido com Sucesso.\");
</script>
";
}
}
?>
</body>
</html>
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.