Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/12/2015, 05:35
ommmm
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 9 años, 1 mes
Puntos: 0
Pregunta Ver archivo PDF u otros

Saludos,

Tengo el siguiente, subo archivos a la base de datos con un script (Cargar archivo) y luego para ver-lo he creado un link que me abre el archivo en el navegador mismo.
Pero sólo me deja visualizar unos pocos pdfs, he ido probano y tengo la suposición que los otros archivos tienen un tamaño mayor.
Cuando intento ver estos archivos que no van, me sale "Failed to load PDF document".

No sé si mi suposición es correcta o si alguien se ha encontrado con un problema similar haber si podéis ayudar-me.

Muchas gracias, a continuación los códigos comentados.




Cargar archivo en la BBDD
Código HTML:
Ver original
  1.     <head>
  2.         <title></title>
  3.         <META http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">
  4.     </head>
  5.  
  6.     <body bgcolor="#F75353">
  7.     <center>
  8.  
  9. <?php
  10.          
  11.        include '../header.php';
  12.    ?>
  13.     <?php
  14.  
  15.  
  16.    
  17.            require_once ('../conexion.inc.php');
  18.            $db1 = mysql_connect($servidor,$usuario,$password) or die("Error al conectar al DBMS.");
  19.            mysql_select_db($basedatos) or die("Error al conectar a la BD");
  20.          
  21.  
  22. set_time_limit(0);
  23.     // Datos de conexión a configurar
  24.    $directorio = "../../subidas/";
  25.  
  26.    // Recibo los datos
  27.            $IdRFQ = $_POST['txtidrfq'];
  28.            $Data = $_POST['txtdata'];
  29.  
  30.            $ProjectName = $_POST['txtProjectName'];
  31.  
  32.            $ProjectPartNombre = $_POST['txtProjectPartNumber'];
  33.  
  34.            $Customer = $_POST['txtCustomer'];
  35.  
  36.            $RMPartNumber = $_POST['txtRMPartNumber'];
  37.  
  38.            $Description = $_POST['txtDescription'];
  39.  
  40.            $Suppliers = $_POST['txtsupplier'];            
  41.            $Price = $_POST['txtprice'];  
  42.            $Cry2 = $_POST['txtcry2'];
  43.            $MOQ = $_POST['txtmoq'];
  44.            $Volume = $_POST['txtvolume'];        
  45.            $Investment = $_POST['txtinvestment'];
  46.  
  47.            $Delivery = $_POST['txtDelivery'];
  48.  
  49.                  
  50.            $Timing = $_POST['txttiming'];
  51.            $Cry = $_POST['txtcry'];
  52.            $Responsible = $_POST['txtResponsible'];
  53.            $Incoterms = $_POST['txtincoterms'];
  54.            $Comments = $_POST['txtcomments'];
  55.            
  56.            $nombre = '';
  57.            if(!empty($_FILES['archivo']['name']))
  58.            {
  59.                //aqui recibo el archivo
  60.                $nombre = $_FILES['archivo']['name'];
  61.                $tipo = $_FILES['archivo']['type'];
  62.                $tamano = $_FILES['archivo']['size'];
  63.  
  64.                // muevo el archivo del temporal al directorio definitivo
  65.                //move_uploaded_file($_FILES['archivo']['tmp_name'],$directorio.$nombre);
  66.                //asigno la ruta y nombre del archivo para almacenarlo
  67.                $fichero_subido = $directorio.$nombre;
  68.  
  69.                $fp = fopen($_FILES['archivo']['tmp_name'], "rb");
  70.                $binario = fread($fp, $tamano);
  71.                $binario = addslashes($binario);
  72.                fclose($fp);    
  73.  
  74.  
  75.                
  76.  
  77.                
  78.            }
  79.                        
  80.    $q1= "INSERT INTO rfq (idrfq, data, ProjectName,  ProjectPartNumber, Customer, RMPartNumber, Description, suppliers, Unitprice, cry2, moq, volume, investment, Delivery, timing, cry, Responsible, incoterms, Comments)
  81. values ('$IdRFQ','$Data', '$ProjectName',  '$ProjectPartNombre', '$Customer','$RMPartNumber', '$Description', '$Suppliers', '$Price', '$Cry2', '$MOQ', '$Volume', '$Investment', '$Delivery','$Timing', '$Cry', '$Responsible', '$Incoterms', '$Comments')";
  82. $result = mysql_query($q1)  or die ("No se pudo ejecutar la consulta");
  83.    
  84.  
  85.    if( !empty($nombre) )
  86.    {
  87.        $q1= "INSERT INTO archivos (archivo_binario, archivo_nombre, archivo_peso, archivo_tipo, IdRFQ)
  88.        values ('$binario','$nombre', '$tamano', '$tipo', (SELECT MAX(IdRFQ) FROM rfq))";
  89.        $result = mysql_query($q1)  or die ("No se pudo ejecutar la consulta");
  90.  
  91.    }
  92.  
  93.    if($q1){
  94.        $msg = "Datos cargados";
  95.    } else {
  96.        $msg = "Datos no cargados";
  97.    }
  98.  
  99.      if(mysql_query($q1,$db1)) echo 'Se ha creado correctamente';
  100.                else echo '¡¡Error en la creación!!</br>El servidor responde: '.mysql_error();
  101.                 mysql_close();
  102.            
  103.            
  104.         ?>
  105.          
  106.        
  107.        
  108.  
  109.  
  110.  
  111.            
  112.  
  113.         </center>
  114.         <p></p>
  115.         <a href="EmpFrmCreacionanterior.php">Return</a>
  116.     </body>
  117.    
  118. </html>


Ver archivo
Código HTML:
Ver original
  1. <?php
  2. if(isset($_GET['IdRFQ'])) {
  3.  
  4.    $servidor = "localhost";
  5.    $basedatos = "bd_ofertas_para_productos";
  6.    $usuario = "root";
  7.    $password = "";
  8.    $link = mysql_connect($servidor,$usuario,$password) or die('Problemas al conectar');
  9.    mysql_select_db('bd_ofertas_para_productos') or die("Error al conectar a la BD");  
  10.  
  11.    $IdRFQ = $_GET['IdRFQ'];  
  12.    $qry = "SELECT * FROM archivos WHERE IdRFQ=$IdRFQ";
  13.  
  14.   $res = mysql_query($qry) or die("Error en la consulta");
  15.  
  16.    $contenido = mysql_result($res, 0, "archivo_binario");
  17.    $tipo = mysql_result($res, 0, "archivo_tipo");
  18.    $nombre = mysql_result($res, 0, "archivo_nombre");
  19.    $peso = mysql_result($res,0,"archivo_peso");
  20.  
  21.    header("Content-type: $tipo");
  22.    header("Content-length: $peso");
  23.     header("Content-Disposition: inline; filename=$nombre");
  24.    print $contenido;
  25.  
  26.  
  27. }
  28.  
  29. ?>