
hola necesito descargar y ver documentos BLOB desde una base de datos sql
Publicado por victor (1 intervención) el 27/05/2015 14:04:15
hola amigos aki les dejo el codigo de subida de archivos a la base de datos(subir.php):
aki el del listado de los documento pero aki ya no puedo ni ver el documento ni descargarmenlo(listado.php):
y por ultimo el de descarga(bajar.php):
en esta ultima a la hora de descargar se me descarga el codigo php de descarga(bajar.php), aparte de los fallos que me da:
Parse error: syntax error, unexpected '$conexion' (T_VARIABLE) in C:\wamp\www\conecxion 2\word\bajar4.php on line 5
aki dejo la tabla de la base de datos SQL:
si ven algo que este mal diganmelo,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?PHP
include("conec sub arch.php");
$si_subio=false;
$id_archivo="";
if (isset($_FILES['archivo'])){
// Cargar en un arreglo los formatos de archivos permitidos
$tipos = array("application/pdf","application/postscript","application/postscript","application/postscript","application/acrobat","application/x-pdf","applications/vnd.pdf",
"text/pdf","text/x-pdf");
$maximo = 100204000;
if (in_array($_FILES['archivo']['type'],$tipos)){
if($_FILES['archivo']['size'] <= $maximo){
$archivo = $_FILES["archivo"]["tmp_name"];
$tamanio=array();
$tamanio = $_FILES["archivo"]["size"];
$tipo = $_FILES["archivo"]["type"];
$nombre_archivo = $_FILES["archivo"]["name"];
extract($_REQUEST);
if ( $archivo != "none" ){
$fp = fopen($archivo, "r+b");
$contenido = fread($fp, $tamanio);
$contenido = addslashes($contenido);
fclose($fp);
$query = "INSERT INTO `doc_pdf` (archivo,nombre,tipo) VALUES
('$contenido','$nombre_archivo','$tipo')";
if (mysql_query($query)){
$si_subio=true;
$id_archivo=mysql_insert_id();
}else{
$si_subio=false;
echo mysql_error();
}
}else{
echo "<h1><b>No fue posible subir el archivo <a href='../arch aut.php'>Subir Otro Archivo</a></b></h1>";
}
if($si_subio){
echo "<h1><b>subido con exito <a href='../arch aut.php'>Subir otro archivo</a></b></h1>";
}
}else{
echo "<h1><b>Tamanño de Archivo demasiado grande</b></h1>";
}
}else{
echo "<h1><b>El formato del archivo no es correcto Solo Documentos PDF (.pdf; .ai; .eps; .ps )</b></h1>";
}
}else{
echo "<h1><b>No Ha seleccionado</b></h1>";
}
?>
aki el del listado de los documento pero aki ya no puedo ni ver el documento ni descargarmenlo(listado.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$con=mysql_connect("localhost","root","") or //Se establece la conexión con el servidor
die("No se puede establecer la conexión con el servidor");
$db=mysql_select_db("mibase",$con); //Se selecciona la BBDD
$archivo="Select ID, nombre from doc_word";
$resultado=mysql_query($archivo);
print "<table id='tab' align='center' border='1'><tr><td hidden='hidden'></td><td><b>ID</b></td><td><b>NOMBRE</b></td><td><b>DESCARGAR</b></td></tr>";//Creación de la tabla e índices
while($fila=mysql_fetch_array($resultado)){
print "<tr><td>";
print $fila['ID'];
print "</td><td>";
print $fila['nombre'];
print "</td><td>";
print "<a href='bajar.php?".$fila['ID']."'><img src='../img/logdoc.png' width='48' height='48' /></a>";
print "</td></tr>";
}
print "</table>";
?>
y por ultimo el de descarga(bajar.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$ssql = "SELECT archivo FROM doc_word WHERE Id=ID"
$conexion = AbreBD('mibase');
$consulta = mssql_query($ssql, $conexion);
$registro = mssql_fetch_assoc($consulta);
$archivo = $registro["archivo"];
header('Content-type: application/msword');
header('Content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header('Content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.template');
header('Content-type: application/vnd.ms-word.document.macroEnabled.12');
header('Content-type: application/vnd.ms-word.template.macroEnabled.12';
header('Content-type: application/vnd.oasis.opendocument.text');
header('Content-type: application/rtf');
header('Content-Disposition: attachment; filename=archivo.doc');
header('Content-Disposition: attachment; filename=archivo.dot');
header('Content-Disposition: attachment; filename=archivo.docx');
header('Content-Disposition: attachment; filename=archivo.dotx');
header('Content-Disposition: attachment; filename=archivo.docm');
header('Content-Disposition: attachment; filename=archivo.dotm');
header('Content-Disposition: attachment; filename=archivo.odt');
header('Content-Disposition: attachment; filename=archivo.rtf');
echo $archivo;
mssql_free_result($consulta);
CierraBD($conexion);
?>
Parse error: syntax error, unexpected '$conexion' (T_VARIABLE) in C:\wamp\www\conecxion 2\word\bajar4.php on line 5
aki dejo la tabla de la base de datos SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 27-05-2015 a las 12:01:56
-- Versión del servidor: 5.5.24-log
-- Versión de PHP: 5.4.3
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Base de datos: `mibase`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `doc_word`
--
CREATE TABLE IF NOT EXISTS `doc_word` (
`ID` int(10) NOT NULL AUTO_INCREMENT,
`nombre` varchar(150) CHARACTER SET utf8 COLLATE utf8_spanish_ci DEFAULT NULL,
`archivo` longblob,
`tipo` varchar(150) CHARACTER SET utf8 COLLATE utf8_spanish_ci DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf16 COLLATE=utf16_spanish2_ci AUTO_INCREMENT=34 ;
--
-- Volcado de datos para la tabla `doc_word`
--
INSERT INTO `doc_word` (`ID`, `nombre`, `archivo`, `tipo`) VALUES
(1, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(8, 'Activar seguridad en apache.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(9, 'Activar seguridad en apache.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(10, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(11, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(12, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(13, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(14, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(15, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(16, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(17, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(18, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(19, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(20, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(21, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(22, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(23, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(24, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(25, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(26, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(27, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(28, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(30, 'apuntes para examen de srvicios.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
(32, 'Seguridad en redes WIFI.docx', 0x0030003000300030002d00300030002d00300030, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
si ven algo que este mal diganmelo,
Valora esta pregunta


0