Salve avevo postato ieri un problema circa il link a file su cartelle locali (questo sotto consiglio per evitare di caricare file direttamente sotto un database sql) ora io con PHP sono riuscito a fare praticamente tutto, mi collego al database dove in un campo varchar ho i miei link alle cartelle dei miei lavori, mi faccio la mia bella query, e ora viene il bello, io mi ricavo dalla query il link che passo alla funzione opendir di PHP, e questo funziona, gli chiedo di leggermi l'elenco dei file, e anche questo sembra funzionare, ora mi rimarrebbe da chiedergli la dimensione dei file, e il problema è qui, perche poi in echo restituisco non la stringa ma il link al file (e questo funziona) che punta alla solita pagina download.php, ora io non so perchè ma il file che scarico è solamente 300 byte invece di 300 KB, la stessa cosa avviene anche con immagini di 2 MB che ne scarica solo i soliti circa 200/300 byte, io impazzisco, e da ieri che ci lavoro. Vi posto tutti e due i codici.


Pagina di ricerca
<?php
/* Connessione e selezione del database */
$connessione = mysqli_connect("localhost", "root", "pippo", "pluto")
or die("Connessione non riuscita");
/* Esecuzione di una query SQL */
$query = "SELECT * FROM gare WHERE 1=1";
$risultato = mysqli_query($connessione,$query) or die("Query fallita");
/* Stampa dei risultati in HTML */

print "<table>\n";
echo "<table border =\"1\" cellspacing=\"0\" >";

while ($linea = mysqli_fetch_array($risultato, MYSQLI_ASSOC)) {
extract ($linea);

/*da qui inizio a chiedere di aprire la cartella e leggere il contenuto*/
$dir= $LINK;
$cartella = opendir($dir);
#creiamo un ciclo che legga i contenuti e li metta nell'array
while ($file = readdir($cartella)) {
$file_array[] = $file;
}
$percorso = $LINK&$file;
$dimensioni_file=filesize($percorso);
#facciamo un ciclo foreach per prendere gli elementi
foreach ($file_array as $file){
#tutti tranne quelli che iniziano per "." o per ".."
if ( $file == ".." || $file == "." || $file == 'pdf' || $file == 'jpg');
continue;

}


/*ora riparte il codice iniziale che mi restituisce il risultato e il link al file*/


echo " <td>$ID_GARE</td>";
echo " <td>$NOME</td>";
echo " <td>$SCADENZA</td>";
echo " <td>$REFERENTE</td>";
echo " <td>$CATEGORIA</td>";
echo " <td>$PARTNER</td>";
echo " <td>$ESITO</td>";
echo " <td>$NOTE</td>";
echo "<td><a href=\"download.php?nome_file=$file&dimensioni_fil e=$dimensioni_file\">$file</a>
";
echo " <td>$ARCHIVIO_CARTACEO</td>";
echo " <td>$STATO</td></tr>";

}
echo "</table>";
?>


Questo è donwload.php

<?php
$nome_file=$_GET['nome_file'];
header("Content-type: Application/octet-stream");
header('Content-Transfer-Encoding: binary');
header("Content-Disposition: attachment; filename=$nome_file");
header("Content-Description: Download PHP");
$fileSize = @filesize ($file);
if ($fileSize)
header('Content-Length: ' . $fileSize, true);
readfile($nome_file);
?>


AIUUUUTOOOOOOOOO