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

    Problema download file mediante istruzione a href download su opera

    Ciao a tutti,

    sono un neofita di programmazione ma ho la necessità di scrivere un piccolo frammento di codice che mi elenchi i file di una cartella ... fatto in php con il link al file. Questo fatto, quando clicco sul link, il browser mi fornisce come errore:

    Interrotto: errore di rete

    mentre se copio l'indirizzo del link e lo apro su una nuova tab incollandolo, esegue correttamente il download del file senza dare nessun errore!!!

    Come posso risolvere il problema?

    Browser testati: opera, firefox
    Server: IIS8 (non posso utilizzare altro, purtroppo)
    PHP: 7

    vi trascrivo il codice utilizzato:
    codice:
    <?php
    $server='[indirizzo ip del server]'; 
    $nomecartella = '/[cartella]/[cartella]/[cartella]';
    $cartella = opendir($nomecartella); 
    echo "<ul>";
    while (false !== ($file = readdir($cartella))) { 
    if ($file != "." && $file != "..") { 
    echo "<li>";
    echo '<a href="file://'.$server.''.$nomecartella.'/'.$file.'"';
    echo ' download="'.$file.'">';
    echo $file.'</a>';
    echo "</li>"; 
    } 
    }
    echo "</ul>";
    closedir($cartella); 
    ?>
    Il codice di per se dovrebbe essere corretto ... però il browser mi restituisce l'errore di cui sopra, che se invece copio il link e apro una nuova scheda scarica correttamente ?!?!?
    Ultima modifica di carlomarangoni; 23-09-2017 a 17:07 Motivo: Aggiunta tag code

  2. #2
    Ti sposto in PHP

    Ricorda che quando posti del codice devi usare il tag [ code] oppure il tasto # in modalità avanzata.
    Per questa volta te lo ho corretto io
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  3. #3
    Grazie

  4. #4
    Quote Originariamente inviata da MaurizioSchiavo Visualizza il messaggio
    Ciao a tutti,

    sono un neofita di programmazione ma ho la necessità di scrivere un piccolo frammento di codice che mi elenchi i file di una cartella ... fatto in php con il link al file. Questo fatto, quando clicco sul link, il browser mi fornisce come errore:

    Interrotto: errore di rete

    mentre se copio l'indirizzo del link e lo apro su una nuova tab incollandolo, esegue correttamente il download del file senza dare nessun errore!!!

    Come posso risolvere il problema?

    Browser testati: opera, firefox
    Server: IIS8 (non posso utilizzare altro, purtroppo)
    PHP: 7

    vi trascrivo il codice utilizzato:
    codice:
    <?php
    $server='[indirizzo ip del server]'; 
    $nomecartella = '/[cartella]/[cartella]/[cartella]';
    $cartella = opendir($nomecartella); 
    echo "<ul>";
    while (false !== ($file = readdir($cartella))) { 
    if ($file != "." && $file != "..") { 
    echo "<li>";
    echo '<a href="file://'.$server.''.$nomecartella.'/'.$file.'"';
    echo ' download="'.$file.'">';
    echo $file.'</a>';
    echo "</li>"; 
    } 
    }
    echo "</ul>";
    closedir($cartella); 
    ?>
    Il codice di per se dovrebbe essere corretto ... però il browser mi restituisce l'errore di cui sopra, che se invece copio il link e apro una nuova scheda scarica correttamente ?!?!?
    Prova così:
    codice:
    <?php
    $dir='directorydainserire'; 
    if ($handle = opendir($dir)) 
    { 
    while (false !== ($file = readdir($handle))) 
    { 
    //qui poi mettere i filtri per le estenzioni valide (puoi anche toglierle, qui per 
    //esempio ci sono file di immagini jpg,bmp,gif e cmq dovresti escludere sempre 
    // due file nominati '.' e '..' non scordarlo!!) 
    if ( (substr($file,strpos($file,'.')+1)=='jpg' ) or 
    (substr($file,strpos($file,'.')+1)=='bmp') or 
    ( substr($file,strpos($file,'.')+1)=='gif' ) ) 
    { 
    $cartella[$i]=$file; 
    $i++; 
    } 
    } 
    closedir($handle); 
    } 
    
    foreach ($cartella as $file)
    {
    echo "<a href=\"$dir/$file\">$file</a>
    ";
    }
    
    ?>
    Ultima modifica di supersqualo; 27-09-2017 a 11:44

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 © 2024 vBulletin Solutions, Inc. All rights reserved.