patricias 0 Denunciar post Postado Agosto 13, 2009 Pessoal, desculpem a pergunta .... Procurei no forum, e até agora não encontrei, talvez esteja procurando de forma incorreta....vou continuar tentando.... De qualquer forma, tentarei pedir um auxilio aqui..... Me parece ser algo simples..... Cadastrar arquivos (guardar num bd).....e disponibilizar por link....isso é possivel? no formulario, eu teria apenas nome do arquivo Pasta tem muito segredo? Na pagina aparece por ex. o nome do arquivo ja linkado? brigada Compartilhar este post Link para o post Compartilhar em outros sites
zetto33 0 Denunciar post Postado Agosto 13, 2009 Difícil não é - mas são dois processos diferentes: upload e cadastro no db. Para o upload siga isso: http://www.linhadecodigo.com.br/Artigo.aspx?id=205 Para o cadastro, após se conectar ao db, basta no caso de 2 campos: $insert = "INSERT INTO nome_do_db (nome_campo_1, nome_campo_2) VALUES ('$variavel_1', '$variavel_2')"; $resultado = mysql_query($insert) or die (mysql_error()); se usar o link (acima), o nome da variável poderá ser $imagem_dir, ou $imagem_nome fica a seu critério. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 13, 2009 Sabe trabalhar com upload de arquivos Patricias ? sabe fazer operação com base de dados ? inserção, atualização etc? Compartilhar este post Link para o post Compartilhar em outros sites
zetto33 0 Denunciar post Postado Agosto 13, 2009 Tava olhando algumas coisas, e por acidente achei isto aki, deve cair bem para o que precisa... http://thiagobelem.net/blog/mysql/2009/07/13/upload-de-arquivos-como-tudo-funciona-575/ Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Agosto 13, 2009 Tava olhando algumas coisas, e por acidente achei isto aki, deve cair bem para o que precisa... http://thiagobelem.net/blog/mysql/2009/07/13/upload-de-arquivos-como-tudo-funciona-575/ Boa tarde, respondendo as perguntas Alaerte: Sim, eu já fiz para upload de imagem pra um sistema de noticias, porem, não criava link pra download da imagem, só armazenava no banco.... Zetto: vou tentar esse exemplo que você me deu. Porem, quero saber o seguinte, ao fazer upload eu posso usar qualquer extensão? tipo (txt, doc, zip, jpg ...etc) E posso disponibilizar para download? Pq o que quero, fazer upload do arquivo, dizer pra qual pasta ele irá, e criar o link na pagina..... no banco eu preciso ter quantas tabelas? att, Compartilhar este post Link para o post Compartilhar em outros sites
zetto33 0 Denunciar post Postado Agosto 13, 2009 Claro, pode fazer o controle pelo mime-type: http://us2.php.net/manual/en/function.mime-content-type.php com um if simples e informar em qual pasta será feito o upload, basta que entenda o principio tudo ficará bem simples... Editado: Acho que 3 tabelas, chave primária (int), link, e descrição do link deve bastar Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 13, 2009 Apenas uma tabela com os campos para armazenar o path do arquivo data de envio caso necessário, nome do arquivo. O link, após o ato do download e da inserção, você faria: echo 'http://www.meusite.com.br/'.$variavel_que_contem_o_nome_do_path; é simples. na página para exibir os arquivos cadastrar você fará a mesma coisa, com diferença que será por busca: $busca = mysql_query("SELECT * FROM tabela")or die(mysql_error()); if(mysql_num_rows($busca) > 0){ while($ver = mysql_fetch_array($busca)){ echo 'http://meusite.com.br/'.$ver['campo_path']; } } Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Agosto 14, 2009 Apenas uma tabela com os campos para armazenar o path do arquivo data de envio caso necessário, nome do arquivo. O link, após o ato do download e da inserção, você faria: echo 'http://www.meusite.com.br/'.$variavel_que_contem_o_nome_do_path; é simples. na página para exibir os arquivos cadastrar você fará a mesma coisa, com diferença que será por busca: $busca = mysql_query("SELECT * FROM tabela")or die(mysql_error()); if(mysql_num_rows($busca) > 0){ while($ver = mysql_fetch_array($busca)){ echo 'http://meusite.com.br/'.$ver['campo_path']; } } Seguirei tua dica, tu podes me dar um exemplo de tabela? Eu escorrego muito nessa parte, http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 14, 2009 Certo: CREATE TABLE `arquivos` ( `id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `caminho` VARCHAR( 60 ) NOT NULL , `link` VARCHAR( 70 ) NOT NULL ) ENGINE = MYISAM ; Onde: id: ID do registro. caminho: Path do arquivo (caminho para o link) link: Link do download. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Agosto 14, 2009 Certo: CREATE TABLE `arquivos` ( `id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `caminho` VARCHAR( 60 ) NOT NULL , `link` VARCHAR( 70 ) NOT NULL ) ENGINE = MYISAM ; Onde: id: ID do registro. caminho: Path do arquivo (caminho para o link) link: Link do download. Abraços. Obrigada Alaerte, aproveitando achei esse link Artigo sobre armazenar arquivo Seria sobre o mesmo assunto, certo?Um repositorio de arquivos.... Na dúvida, nesse artigo, fala sobre dados BLOB e a tabela tem 4 campos.... CREATE TABLE arquivos( id int not null auto_increment primary key, nome varchar(50), titulo varchar(50), conteudo mediumblob,tipo varchar(50)); Vou tentar, e posto o resultado. Obrigada por enquanto! Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 14, 2009 Prefira ao modo de armazenar os arquivos em pastas no servidor, do que armazenar diretamente em base de dados. Mais leve e complexo. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Agosto 14, 2009 Prefira ao modo de armazenar os arquivos em pastas no servidor, do que armazenar diretamente em base de dados. Mais leve e complexo. Abraços. Boa noite, Alaerte só agora vi tua mensagem, de qualquer forma, usei o exemplo até pra entender um pouco a coisa, e consegui fazer ao menos gravar no banco, mas nao funcionou no download (ele ate mostra a listinha de arquivo que coloquei la, mas nao faz o dowload pq ele diz q o arquivo não existe....to tentando ver oq há de errado)... De qualquer forma, tentarei fazer dessa forma que você falou, me parece realmente melhor salvar por pastas, até pq alguns arquivos serão aquelas "midi voice", pra tocar em sala de bate papo,e é preciso ter o caminho "completo" pra que funcione.... vou tentar, e depois posto. Muito Obrigada! e um ótimo final de semana a todos Compartilhar este post Link para o post Compartilhar em outros sites
zetto33 0 Denunciar post Postado Agosto 16, 2009 Acho que este exemplo simples deve dar alguma diretriz, não pense em usá-lo como definitivo, pois não possui qualquer escabilidade. O arquivo deve ser criado como testes_foto.php, ou alterado o valor correspondente no campo de formulário. <?php $servidor="000.000.000.000"; $nome_usuario="xxxxxxxxxxx"; $senha_usuario="xxxxxxxxxx"; $nome_db="xxxxxxxxxxxxxxxx"; $link = mysql_connect($servidor, $nome_usuario, $senha_usuario); if (!$link) { die('Not connected : ' . mysql_error()); } $db = $nome_db; $db_selected = mysql_select_db($db, $link); if (!$db_selected) { die ('Can\'t use '.$db.' : '. mysql_error()); } if(!(mysql_query("SELECT * FROM fotos"))){ $sqldbn = "CREATE TABLE fotos( foto varchar(30) NOT NULL, descricao varchar(30) NOT NULL, PRIMARY KEY(foto) )"; $result = mysql_query($sqldbn); if(!$result){die("Base de dados não criada: " . mysql_error());} else{echo "Foi criada uma nova base de dados: fotos<br>";} } function upload(){ global $resfoto,$imagem_nome; if(($_FILES['foto']['size'])!=0){ //tamanho máximo do arquivo $config["tamanho"] = 512000; $imagem_nome = preg_replace( "/[^a-zA-Z0-9\\.]/i", "", $_FILES['foto']['name'] ); $erro = $config = array(); $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; if($arquivo){ if($arquivo["size"] > $config["tamanho"]){ //$erro[] = "Tamanho de arquivo inválido.\n A imagem deve ter no máximo ".$config["tamanho"]/1024." kbytes.\n Envie outro arquivo."; } if(file_exists($imagem_nome)){ $erro[] = "Nome de arquivo inválido."; } } if(sizeof($erro)){ foreach($erro as $err){ if(empty($foto)){$resfoto="$err";} else{$resfoto=$foto;} } } else{ // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_nome); $resfoto = "Seu arquivo foi enviada com sucesso!"; } } } ?> <html><head><title>Upload</title></head><body> <table align="center"> <form method="post" action="testes_foto.php" enctype="multipart/form-data"> <tr><td align="center" colspan="2">Upload</td></tr> <tr><td>Foto</td><td><input type="file" name="foto"></td></tr> <tr><td>Descrição</td><td><input type="text" name="descricao"></td></tr> <tr><td align="center" colspan="2"><input type="submit" value="Upload" name="submit"></td></tr> </form></table> <?php $select=mysql_query("SELECT * FROM fotos ORDER BY foto"); while($r=mysql_fetch_array($select)){ echo '<a href="'.$r["foto"].'">'.$r["descricao"].' ('.$r["foto"].')'.'</a><br>'; } ?> <?php if(isset($_POST["submit"]) && $_POST["submit"]=="Upload"){ upload(); echo $resfoto; $desc=htmlentities($_POST["descricao"]); $insert=mysql_query("INSERT INTO fotos (foto, descricao) VALUES ('$imagem_nome', '$desc')") or die (mysql_error()); } ?> </body></html> Compartilhar este post Link para o post Compartilhar em outros sites