Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    pdf danneggiati dopo dowload dal sito?!

    salve a tutti,
    qui ho un problema coi files che carichero.
    non so dove sia il problema coi files che carico: sono pdf che ho controllato in locale e funzionano, ma caricati sul database e d conseguenza sul sito, danno come risultato un errore. mi aiutereste?
    Trader professionista indipendente
    http://www.j-b.cloud

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Bhe cosi non è facile capire, anche se posso supporre che in caricamento (o in estrazione) del file pdf probabilmente aggiungi involontariamente qualche carattere che rende il formato illeggibile.

    Prova a postare un po' di codice, anche se in questi casi non è facile capire (a meno di un errore mastodontico).


  3. #3
    codice:
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
    
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
    
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    }
    
    mysql_select_db($database_comunicazioni, $comunicazioni);
    $query_rsComunicazione = "SELECT * FROM comunicazioni";
    $rsComunicazione = mysql_query($query_rsComunicazione, $comunicazioni) or die(mysql_error());
    $row_rsComunicazione = mysql_fetch_assoc($rsComunicazione);
    $totalRows_rsComunicazione = mysql_num_rows($rsComunicazione);
    ?>
    il database invece è strutturato cosi:
    id int(11) not null auto_increment
    filecomunicazione text null
    titolo text null
    comunicazione text null
    Trader professionista indipendente
    http://www.j-b.cloud

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    In pratica memorizzi il file in un campo testuale?

    Sinceramente non sono esperto in questo ramo, ma io avrei scelto un campo blob.
    Questa parte di codice è quella che fa l'estrazione, e a parte il dubbio sul campo e sul fatto che manipoli la stringa togliendo degli slashes che sono statti aggiunti in precedenza sembrerebbe corretto, ma magari l'errore è introdotto in fase di inserimento. Ricorda che anche un solo carattere in più rispetto al contenuto del file originale può mandare tutto all'aria.

    Prova a controllare la lunghezza della stringa nelle varie fasi, e vedi se è sempre uguale o se a un certo punto cambia.

    ciao

  5. #5
    quando apro il pdf l errore dice: adobe non è in grado d aprire "001_circ00.pdf" xceh è un tipo d file non supportato ecc ecc....
    il nome del file effettivamente dovrebbe essere circ00.pdf e non 001_circ00.pdf. dove posso correggere?
    Trader professionista indipendente
    http://www.j-b.cloud

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    il problema del nome del file non saprei, dipende dal markup che crei.

    In ogni caso non è un solo problema di nome file, infatti se il file non esistesse ti darebbe un altro errore. Il problema è il contenuto, non il nome.

    ciao

  7. #7
    posso chiederti un favore?
    come lo creeresti tu il database?
    a me servono i seguenti campi:
    id
    file = ovviamento il pdf che carichero'...
    titolo = sara semplicemente circolareXX/2008 o come x adesso circXX
    Trader professionista indipendente
    http://www.j-b.cloud

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    se vuoi caricare il file nel database (cosa che io in genere evito perchè comunque appesantisce di molto il db) assegnerai al campo file il tipo "BLOB".

    Io in genere invece se posso carico in file sul filesystem e poi salvo sul db il percorso al file.

    Se il file deve essere protetto i casi sono 2:

    1. lo carico in una dir fuori dalla document root (se posso)
    2. lo carico in una dir che poi proteggerò tramite htaccess

    In ognuno dei due casi fornirò il file tramite php usando readfile.

    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.