Array
(
)

Sistema de upload para banco de dados PHP+MySQL

PHP
Helio Brito
   - 11 set 2013

Olá pessoal,
poderiam me ajudar a fazer um sisteminha (PHP+MySQL) para fazer upload de arquivos de qualquer formato para um banco de dados MySQL e como fazer para mostrar ou baixar o arquivo?
Pra entender melhor, por favor visite este link: http://www.camara.ms.gov.br/?secao=transparencia
Detalhes: Eu tenho um painel administrativo, onde criei um formulário para para envio de arquivos selecionando a categoria enviado ao banco de dados e depois listar eles lá.
Resumindo é um sistema onde quero ter categorias e listar os arquivos em suas categorias, tendo assim opções para baixar ou visualizar.
segue me form:
#Código

<form name="formulario" action="" method="post" enctype="multipart/form-data">
<label class="line">
<span class="data">Nome:</span>
<input type="text" name="nome" value="<?php if($f['nome']) echo $f['nome']; ?>" />
</label>
<label class="line">
<span class="data">Selecione arquivo para envio:</span>
<input type="file" class="fileinput" name="arq" size="60" style="cursor:pointer; background:#FFF;" />
</label>
<label class="line">
<span class="data">Data:</span>
<input type="text" name="data" class="formDate" value="<?php if($f['date']) echo $f['date']; else echo date('d/m/Y H:i:s'); ?>" />
</label>
<label class="line">
<select name="categoria">
<option value="">Selecionar categoria   </option>
<?php
$readCatPai = read('camara_trans_cat', "WHERE id_pai IS NULL");
if(!$readCatPai){
echo'<option value="">Não foram encontradas categorias.   </option>';
}else{
foreach($readCatPai as $readcat):
echo'<option value="" disabled="disabled">'.$readcat['nome'].'</option>';
$readCategoria = read('camara_trans_cat', "WHERE id_pai='$readcat[id]'");
if(!$readCategoria){
echo'<option value="" disabled="disabled">»$raquo; Cadastre uma nova subcategoria</option>';
}else{
foreach($readCategoria as $categoria):
echo'<option value="'.$categoria['id'].'" ';
if($categoria['id'] == $f['categoria']){
echo'selected="selected"';
}
echo' >»»'.$categoria['nome'].'</option>';
endforeach;
}
endforeach;
}
?>
</select>
</label>
<!--<input type="reset" value="clear" class="btnalt" />-->
<input type="submit" value="Enviar Arquivo" name="sendFile" class="btn" />
</form>
</div><!-- /bloco form -->

e o php:
eu tenho este código, que estou fazendo até ai consigo até enviar o arquivo para minhas pasta UPLOADS/ARQUIVOS...
#Código
<?php
if(isset($_POST['sendFile'])){
$f['nome'] = htmlspecialchars(mysql_escape_string($_POST['nome']));
$f['date'] = htmlspecialchars(mysql_escape_string($_POST['data']));
$f['categoria'] = htmlspecialchars(mysql_escape_string($_POST['categoria']));

if(in_array('',$f)){
echo'<span class="ms in">Você deve preencher todos campos</span>';
}else{
$f['data'] = formDate($f['date']); unset($f['date']);

$pasta = '../uploads/arquivos/';
$ano = date('Y');
$mes = date('m');
//criando pasta ano e pasta mês
if(!file_exists($pasta.$ano)){
mkdir($pasta.$ano, 755);
}
if(!file_exists($pasta.$ano.'/'.$mes)){
mkdir($pasta.$ano.'/'.$mes);
}
$arq = $_FILES['arq'];
$ext = $arq['name'];
$f['arq'] = $ano.'/'.$mes.'/'.$f['url'].'.'.$ext;

if(move_uploaded_file($arq['tmp_name'], $pasta.$ano.'/'.$mes.'/'.$ext)){
create('camara_trans_arq',$f);
echo'<span class="ms ok">Arquivo enviado com sucesso!</span>';

}else{
echo'<span class="ms al">Erro ao enviar arquivo</span>';
}

}

echo'<pre class="debug">';
print_r($f);
echo'</pre>';

}
?>

Obrigado que puderer ajudar!

Leandro_richard
   - 23 out 2013

Olá Helio boa tarde,

Veja se o link te ajuda: http://www.codigofonte.net/scripts/php/upload/1755_upload-simples-e-multiplos-uploads
Qualquer dúvida posta ai...

Marcio Araujo
   - 23 out 2013


Citação:
Olá Helio boa tarde,

Veja se o link te ajuda: http://www.codigofonte.net/scripts/php/upload/1755_upload-simples-e-multiplos-uploads
Qualquer dúvida posta ai...


aproveitando pra agradecer pelo link.

Helio Brito
   - 02 dez 2013

Obrigado pelo Código. Estou estudando ele... vlw mesmo.