Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Download de Ficheiro do Mysql

$
0
0
Boas pessoal, tenho uma grande duvida e precisava da vossa ajuda, tenho ficheiros na BD mysql, no phpmyadmin, e é o seguinte quando realizo o download o ficheiro em .txt vem com códigos em vez do conteudo que estava lá dentro, e um ficheiro .pdf diz que o ficheiro foi danificado. Agradecia imenso a vossa ajuda, pois é de um estado urgente.

Páginas:

Adicionar ficheiro:
Código (PHP):
<?php
require("dbconnect.inc.php");
$arquiivo = $_FILES['arquivo']['tmp_name'];
$tamanho = $_FILES['arquivo']['size'];
$tipo = $_FILES['arquivo']['type'];
$nome = $_FILES['arquivo']['name'];
$titulo = $_POST['titulo'];
if ( $arquivo != "none" )
{
  $nome = $_FILES['arquivo']['name'];
  $arquiivo = $_FILES['arquivo']['tmp_name'];
  $fp = fopen($arquivo, "r");
  $conteudo = fread($fp, filesize($tamanho));
  $conteudo = addslashes($conteudo);
  fclose($fp);
  if(!get_magic_quotes_gpc())
  {
         $nome = addslashes($nome);
  }

  $qry = mysql_query ("INSERT INTO arquivos VALUES ('','$nome','$titulo','$conteudo','$tamanho', '$tipo')");


  if(mysql_affected_rows($conn) > 0)
    print "O arquivo foi gravado na base de dados.";
  else
    print "Não foi possível gravar o arquivo na base de dados.";
}
else
  print "Não foi possível carregar o arquivo para o servidor.";

?>


Mostrar ficheiros:

Código (PHP):
!-- ...código anterior -->
<form enctype="multipart/form-data" action="guardar_arquivo.php" method="post">
Descricao <input type="text" name="titulo" size="30">
Arquivo <input type="file" name="arquivo">
<input type="submit" value="Enviar arquivo">
</form>
<!-- ...código posterior -->
<tbody>
<?php
require("dbconnect.inc.php");
$qry = "SELECT * FROM arquivos";
$res = mysql_query($qry);
while($fila = mysql_fetch_array($res))
{


  echo "<tr>";
  echo "<td>". $fila['titulo']."</td>";

  ?>
  <td><a href="baixar_arquivo.php?nid=<?php echo $fila['id']; ?>">Fazer Download</a></td>

  <?php
}
?>
</tbody>

Para download:

Código (PHP):
<?php
require("dbconnect.inc.php");
$id = @($_GET["nid"]);

if($id != "") {

  $result = mysql_query("select nome, conteudo, tamanho, tipo From arquivos where id='$id'") or die('Error, query failed');
  list($name, $titulo, $conteudo, $size, $type) = mysql_fetch_array($result);
  header("Content-length: $size");
  header("Content-type: $type");
  header("Content-Disposition: attachment; filename=$name");
  echo $conteudo;
}
else{

}

?>
 

Viewing all articles
Browse latest Browse all 14700