Ciao, dopo mille peripezie, tramite questo codice vado a recuperare un percorso e tramite tale path prendo il file reale.
mi funziona tranne il fatto che il file che apre (sono tutti png) è sempre rovinato, ovvero mi dice:
"Impossibile aprire l'immagine, file troppo grande o danneggiato". Premetto che sono file da 3 kb e che facendo stampare il link a video e cliccandoci lo apro perfettamente.
Un'altra cosa. Secondo voi utilizzando questa riga: array_push($result, $recordnew); inserisco correttamente ogni file immagine in un array?
Grazie
questo è il mio codice:
Codice PHP:
require("db.php");
session_start();
$sql = "SELECT concat('http://ciaopoint.tecnitaliaopty.com/img/',folder) as Path, thumb as FileName FROM frames ";
$result = array();
if ($resultdb = $mysqli->query($sql)) {
while($record = $resultdb->fetch_array()) { $mimetype = pathinfo($nomeFile, PATHINFO_EXTENSION); $filedata=filesize($filepath."/".$nomeFile); header('Content-Type: '.$mimetype); header('Content-Disposition: attachment; filename="'.$nomeFile.'"'); header('Content-Transfer-Encoding: binary'); header('Content-Length: '.sprintf('%d', $filedata)); header('Expires: 0'); readfile($filepath."/".$nomeFile); $recordnew = readfile($filepath."/".$nomeFile); array_push($result, $recordnew); }
$resultdb->close();}
//count total records from table for paging$sql = "SELECT count(*) as num FROM frames ";
$total = 0;if ($resultdb = $mysqli->query($sql)) {
$record = $resultdb->fetch_assoc(); $total = $record['num'];
$resultdb->close();}
//send back information to extjsecho json_encode(array( "success" => $mysqli->connect_errno == 0, "total" => $total, "data" => base64_encode($result)));
/* close connection */$mysqli->close();