Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

patricias

cadastrar arquivos

Recommended Posts

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

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.