Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Pessoal. Boa noite.
Sou novo aqui no fórum e também estou começando agora a programar.
Então, estou desenvolvendo pra um cliente um sistema administrativo onde ele vai cadastrar, editar e excluir clientes.
Nesse sistema administrativo ele também quer ter uma opção de enviar arquivos (pdf e docx) para cada cliente.
Assim que cada cliente acessar a sua área administrativa aparecerá os respectivos documentos.
/applications/core/interface/imageproxy/imageproxy.php?img=https://uploaddeimagens.com.br/images/000/577/360/original/1.png?1456889192&key=7d5f5a06d473e8daa420bde36ca2880784b6397fbb1f714ed50bb3df8dc9da72" alt="1.png?1456889192" />
O sistema de upload está feito, só não estou conseguindo selecionar o usuário e cadastrar o arquivo no banco de dados, pra depois cada cliente listar seus documentos.
Abaixo está o Código:
<?php
// DEFINIÇÕES
// Numero de campos de upload
$numeroCampos = 5;
// Tamanho máximo do arquivo (em bytes)
$tamanhoMaximo = 1000000;
// Extensões aceitas
$extensoes = array(".doc", ".txt", ".pdf", ".docx");
// Caminho para onde o arquivo será enviado
$caminho = "uploads/";
// Substituir arquivo já existente (true = sim; false = nao)
$substituir = false;
for ($i = 0; $i < $numeroCampos; $i++) {
// Informações do arquivo enviado
$nomeArquivo = $_FILES["arquivo"]["name"][$i];
$tamanhoArquivo = $_FILES["arquivo"]["size"][$i];
$nomeTemporario = $_FILES["arquivo"]["tmp_name"][$i];
// Verifica se o arquivo foi colocado no campo
if (!empty($nomeArquivo)) {
$erro = false;
// Verifica se o tamanho do arquivo é maior que o permitido
if ($tamanhoArquivo > $tamanhoMaximo) {
$erro = "O arquivo " . $nomeArquivo . " não deve ultrapassar " . $tamanhoMaximo. " bytes";
}
// Verifica se a extensão está entre as aceitas
elseif (!in_array(strrchr($nomeArquivo, "."), $extensoes)) {
$erro = "A extensão do arquivo <b>" . $nomeArquivo . "</b> não é válida";
}
// Verifica se o arquivo existe e se é para substituir
elseif (file_exists($caminho . $nomeArquivo) and !$substituir) {
$erro = "O arquivo <b>" . $nomeArquivo . "</b> já existe";
}
// Se não houver erro
if (!$erro) {
// Move o arquivo para o caminho definido
move_uploaded_file($nomeTemporario, ($caminho . $nomeArquivo));
// Mensagem de sucesso
echo "O arquivo <b>".$nomeArquivo."</b> foi enviado com sucesso. <br />";
}
// Se houver erro
else {
// Mensagem de erro
echo $erro . "<br />";
}
}
}
?>
<?php
$query = mysql_query("SELECT nome FROM usuarios");
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<select>
<option>Selecione o Cliente</option>
<?php while($cliente = mysql_fetch_array($query)) { ?>
<option value="<?php echo $cliente['nome'] ?>"><?php echo $cliente['nome'] ?></option>
<?php } ?>
</select>
<label>Arquivos</label>
<input type="file" name="arquivo[]" /><br>
<input type="file" name="arquivo[]" /><br>
<input type="file" name="arquivo[]" /><br>
<input type="file" name="arquivo[]" /><br>
<input type="file" name="arquivo[]" /><br>
<input type="submit" value="Enviar" />
</form>>
Seu código está funcionando, você apenas esqueceu de dar um require_once no seu arquivo de conexão com o banco de dados =D
coloque no inicio do php:
require_once 'conexao.php'; // nome do seu arquivo de conexão XD
Verdade.
Mas ele não está inserindo o nome do arquivo para o cliente selecionado.
Ele não está inserindo porque não existe nenhuma insert into no seu código...
Ele não está inserindo porque não existe nenhuma insert into no seu código...
é ai que ta o problema .. não to conseguindo inserir. Quero pegar o nome do arquivo e inserir no usuário selecionado.
http://lmgtfy.com/?q=como+dar+insert+php
Desculpa não resisti u.u
>
http://lmgtfy.com/?q=como+dar+insert+php
Desculpa não resisti u.u
como dar insert php ? :mellow: kkkkk
também não resisti sorry ;)
falta o mysql :P
@BlackMix o primeiro resultado da busca vem em Mysql (w3school)
Rapaz.
acabei me atrapalhando pra fazer o exemplo se acredita?! hsauhsaua
Apanhei mas fiz algo que ficou bem clean.
se liga:
<?php
if($_POST){
// var_dump($_POST);die()
// print_r($_FILES['arquivo']);die();
$cliente_id = $_POST['cliente'];
####Dentro do $_FILES vem essa galera:
# name
# type
# tmp_name
# error
# size
for($i = 0; $i < count($_FILES['arquivo']); $i++){
if ($_FILES['arquivo']['error'][$i] == UPLOAD_ERR_OK) {
$name = $_FILES['arquivo']['name'][$i];
$tmp_name = $_FILES['arquivo']['tmp_name'][$i];
$uploads_dir = './uploads';
move_uploaded_file($tmp_name, "{$uploads_dir}/{$name}");
//Logica do insert vem aqui...
}
}
}
?><!DOCTYPE HTML>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<?php
//Criando o nosso 'banco'
$clientes = array(
array(
'id' => 1
,'nome' => 'José'
)
,array(
'id' => 2
,'nome' => 'Maria'
)
,array(
'id' => 3
,'nome' => 'Beraldo'
)
);
?>
<select name="cliente">
<option value="">Selecione o Cliente</option>
<?php foreach($clientes as $cliente): ?>
<?php echo "<option value='". $cliente['id'] ."'>". $cliente['nome'] ."</option>";?>
<?php endforeach; ?>
</select>
<h3>Arquivos:</h3>
<input type="file" name="arquivo[]" /><br>
<input type="file" name="arquivo[]" /><br>
<input type="file" name="arquivo[]" /><br>
<input type="file" name="arquivo[]" /><br>
<input type="file" name="arquivo[]" /><br>
<hr />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
AI as validações de extensão, você encaixa dentro do loop ( for ) ali e o insert também.
Verdade auhuurhuhr mals aew mas faz o que o gabriel disse que da certo \o/
Olá, Bruno.
Você conseguiu terminar o seu script de upload de arquivos por usuario?
ATT: Adriel
awelterramos@gmail.com
Seu código está funcionando, você apenas esqueceu de dar um require_once no seu arquivo de conexão com o banco de dados =D
coloque no inicio do php:
require_once 'conexao.php'; // nome do seu arquivo de conexão XD