PHP fájlletöltés fájl társítás
Sziasztok, kérdésem az lenne, hogy mi az oka annak, ha pl. egy mp4 típusú fájlt töltenék le a szerverről egy (.htaccess által) nem védett könyvtárból akkor a letöltési ablakban a fájl megnyitásnál be van állítva a VLC player. Ha pedig egy védett kvt-ból php-val szolgálom ki a letöltés akkor pedig egy text-editort ajánl, nem a VLC-t
A php kód a következő:
■ A php kód a következő:
set_time_limit(0);
header('Content-Description: File Transfer');
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header("Content-Transfer-Encoding: binary");
header("Content-disposition: attachment; filename=".basename($file));
header("Content-type: ".mime_content_type($file));
header("Content-Length: ".filesize($file));
$handle = fopen($file, 'rb');
while (!feof($handle)) {
echo $buffer = fread($handle, 1024);
ob_flush();
}
fclose($handle);
ob_end_flush();
exit;
header('Content-Description: File Transfer');
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header("Content-Transfer-Encoding: binary");
header("Content-disposition: attachment; filename=".basename($file));
header("Content-type: ".mime_content_type($file));
header("Content-Length: ".filesize($file));
$handle = fopen($file, 'rb');
while (!feof($handle)) {
echo $buffer = fread($handle, 1024);
ob_flush();
}
fclose($handle);
ob_end_flush();
exit;
Content-Type
Content-Type
határozza meg, hogy milyen a fájl típusa, amit a kliens felé továbbítunk. Ha nem megfelelőt adsz vissza, akkor nem megfelelő alkalmazással próbálja meg megnyitni. Valószínűleg a mime_content_type nem megfelelő típust ad vissza, például azért, mert nem ismeri fel a fájl kiterjesztését / típusát például mert régi amagic.mime
fájl.Igen, azt tudom, hogy a
*.mp4
ami egy MP4 fájl
forrás: http://....
Ettől függetlenül a bluefish text-editort allítja be.
Normál letöltésnél, mint írtam nincs ez a hiba jelenség... nem értem :(
szerintem be is állít Mit
Mit jelent az, hogy szerintem? Mit állít be neki?
A kiterjesztés nem igazán jelent semmit.
ami egy MP4 fájl
forrás: http://....
Ezzel mit akartál mondani?
Letöltéskor ezt írja ki a
mime_content_type
A letöltési kis ablakban
Elnézést a pongyola fogalmazásért!
Mentés
Köszönöm, bár ezzel sajnos
Nem kell a mime_content_type...
mime_content_type
utasítást, amúgy is már elavultnak számít.és helyette:
Köszönöm az 5letet, segített
Valójában 4 típusú fájlt szolgál ki a php... gondoltam csinálok egy switch-case-t, de előtte kitöröltem a content-type sort -> nem lett jobb. Majd csináltam egy ilyet:
header('Content-Type:');
És most jól működik... hogy miért, én nem tudom. Bár a switch-case-t azért még beteszem.
köszi még1x!!!
Kiterjesztés
Hát lehet... sajnos én nem