Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Link a documenti

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    37

    Link a documenti

    Buongiorno,

    per ogni codice clinte vado a verificare se esistono dei documenti collegati ed in caso affermativo ne stampo l'elenco: naturalmente ogni riga è un link di modo che si possa aprire immediatamente il documento che interessa. Si verifica che il link ad una cartella in C:/Docume_offe/.../docume.xxx non funzioni, mentre se inserisco la cartella nella root di localhost, facendo i debiti cambiamenti nello script, funziona tutto.
    Posso avere aiuto?

    <?php
    $cartella = "C:/Docume_offe/$nroffe_richoffe";
    $listafile = scandir($cartella);
    foreach ($listafile as $value) {
    if ($value == '.' || $value == '..') {
    continue;
    }
    ?>
    <tr><td>http:///<?=$value?>" title = "" targ... <?= $value ?> </a> </td> </tr>
    <?php
    }

    Notare che se passo col mouse sul link vedo il percorso corretto (C:/...) preceduto da:
    file:///

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    37

    link a documenti


    noto con piacere che qualcuno ha letto, ma nessuno risponde: ci sono problemi??

  3. #3
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    noto con piacere che qualcuno ha letto, ma nessuno risponde: ci sono problemi??
    Forse non hanno una soluzione?


    Credo che ci siano due problemi:
    1. i link possono essere solo riferiti a delle cartelle incluse in localhost 8e relative sottocartelle) altrimenti apache non vi ha accesso
    2. i link non sono "C://...." bensì "http://127.0.0.1/....

    Di sicuro, nel codice che hai inviato c'è almeno il problema 2

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    37
    Originariamente inviato da Luke70
    Forse non hanno una soluzione?


    Credo che ci siano due problemi:
    1. i link possono essere solo riferiti a delle cartelle incluse in localhost 8e relative sottocartelle) altrimenti apache non vi ha accesso
    2. i link non sono "C://...." bensì "http://127.0.0.1/....

    Di sicuro, nel codice che hai inviato c'è almeno il problema 2
    Quindi , quando la procedura andrà in produzione su server dedicato, devo comunque salvare i documenti in una cartella sotto localhost e non in una directory esterna, pur linkando all'indirizzo IP?

  5. #5
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Si: i link possono essere solo fatti verso file contenuti nella cartella accessibile ad apache.

    Altrimenti crei uno script php (in una cartella accessibile a apache) che restituisce (anche facendo evantuali controlli sulle autorizzazioni degli utenti e registrando gli accessi se vuoi ) il contenuto del file richiesto dopo aver settato gli headers.
    Per un esempio di questo cerca su goggle qualche script per il download dei file.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    37
    Originariamente inviato da Luke70
    Si: i link possono essere solo fatti verso file contenuti nella cartella accessibile ad apache.

    Altrimenti crei uno script php (in una cartella accessibile a apache) che restituisce (anche facendo evantuali controlli sulle autorizzazioni degli utenti e registrando gli accessi se vuoi ) il contenuto del file richiesto dopo aver settato gli headers.
    Per un esempio di questo cerca su goggle qualche script per il download dei file.
    Questo mi piace di più, anche se non so cosa significa "dopo aver settato gli headers". puoi darmi qualche lume?
    Grazie

  7. #7
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    In questo momento non posso postare uno script di esempio perchè sono fuori sede.

    Comunque...
    puoi far si che php (tramite apache) invii all'utente, invece della classica pagina html, un file di tipo diverso.
    Devi però dire al browser che quello che sta ricevendo non è un html, ma ad es. un pdf.

    Per fare questo specifichi negli header il mimetype del file che invii. In questo modo il browser capisce cosa sta ricevendo e si comporta di conseguenza.

    Lo script seguente di fa fare il download del file (specifica un mimetype generico per il quale il browser non ha un plugin per la visualizzazione e quindi ti propone il download)
    Codice PHP:
    <?php
    header
    ("Content-type: Application/octet-stream");
    header("Content-Disposition: attachment; filename=$nome_file");
    header("Content-Description: Download PHP");
    header("Content-Length: $dimensioni_file");
    readfile($nome_file);
    ?>

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.