Hej, har lite problem med att ladda hem filer genom php.
Körde detta script lokalt på min egna server och allt fungerade fin fint.
Men nu när sidan ligger uppe på ett webhotell vill det inte fungera.
Jag har provat att ladda upp en vanlig .txt som ser ut så här:
____
|test| a.txt
att ladda ner filen via ftp fungerar, men om jag laddar hem filen via detta script och sedan öppnar den så innehåller den :
____
|<br | a.txt
<?
include "../setts/conn.php"; // Databasanslutningen
include "../setts/variabler.php";
//echo " kat=$kat <br> filname=$filename <br> url=$url";
function readfile_chunked($filename, $retbytes=true) {
$chunksize = 1*(1024*1024); // how many bytes per chunk
$buffer = '';
$cnt = 0;
$handle = fopen($filename, 'rb');
if ($handle === false) {
return false;
}
while (!feof($handle)) {
$buffer = fread($handle, $chunksize);
echo $buffer;
ob_flush();
flush();
if ($retbytes) {
$cnt += strlen($buffer);
}
}
$status = fclose($handle);
if ($retbytes && $status) {
return $cnt; // return num. bytes delivered like readfile() does
}
return $status;
}
/* Send the requested file with header(). */
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".basename($url)."\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($url));
set_time_limit(0);
$sebytes = readfile_chunked($url, true) or die("File not found.");
?>
Någon som ser nåt fel, eller ligger möjligtvis felet någon annanstanns?
Har provat att skriva ut sögvägarna och de verkar stämma med uppgifter från webhotellet(filerna ligger utanför webrooten). Har även kontrollerat att antalet bytes stämmer och de gör dem.