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):
Mostrar ficheiros:
Código (PHP):
Para download:
Código (PHP):
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.";
?>
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>
<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{
}
?>
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{
}
?>