Richard87 Skrevet 17. mars 2007 Rapporter Del Skrevet 17. mars 2007 (endret) I et browser script jeg har laget har jeg en funksjon for og laste ned filen, men filen blir altid korrupt når jeg sender den:( hra funnet ut at vis jeg ikke endrer headeren så blir ikke filen korrupt( den sender altid en ekstra newline ved bruk av header()), noen som også har merket dette? her er koden min nå: (ajax.php) funksjonen som brukes er 'download'.... Klikk for å se/fjerne innholdet nedenfor <?php include 'functions.php'; ?> <?php if (session_id() == "") { session_start(); session_id($_GET['session']); } if (auth($_SESSION['user'], $_SESSION['md5']) == 1) { switch ($_GET['function']) { case 'dir': $path = $_GET['path']; echo listDir($path); break; case 'timer': echo date("H:i:s"); break; case 'loadfile': $fh = fopen($_GET['filename'], 'rb'); header("Content-Type: text/*"); header("Content-Length: " . filesize($_GET['filename'])); //$buffer = fread($fh,filesize($_GET['filename']) ); fpassthru($fh); fclose($fh); break; case 'loadpicture': $fh = fopen($_GET['path'], 'rb'); $filenm = substr($_GET['path'], strrpos($_GET['path'], "\\") + 1); readfile($_GET['path']); /* header("Content-Type: image/*"); header("Content-Length: " . filesize($_GET['filename'])); Header("Content-Disposition: attachment; Filename=".$filenm); //$buffer = fread($fh, filesize($_GET['path'])); //echo $buffer; //debugprint('TEST:'.$buffer); ?> <html> <head><title><?php echo $_GET['filename']; ?></title></head> <body> <img> </body> </html> <?php */ //fpassthru($fh); fclose($fh); break; case 'loadvideo': $url = "ajax.php?function=loadvideo2&path=".$_GET['path']."&session=".$_GET['session'] ?> <!doctype html public "-//w3c//dtd html 3.2//en"> <html> <head> <title>Embedded Video Example</title> <meta name="keywords" content=""> <meta name="Generator" content="HTMLpad"> <script language="JavaScript"> function openindex() { OpenWindow=window.open("", "newwin", "height=200,width=285,toolbar=no,scrollbars="+scroll+",menubar=no"); OpenWindow.document.write("<TITLE>My Embedded Video</TITLE>") OpenWindow.document.write("<BODY BGCOLOR=000000>") OpenWindow.document.write("<EMBED SRC=<?php echo $url; ?> AUTOSTART=true></EMBED>") OpenWindow.document.write("</HTML>") OpenWindow.document.close() self.name="main" } </SCRIPT> </head> <body bgcolor="c0c0c0" onLoad="openindex()"> <P> <P> <CENTER><h2>Video Embed Example</h2></CENTER> </body> </html> <?php break; case 'loadvideo2': $fh = fopen($_GET['path'], 'rb'); $player = 4; switch ($player) { case 0: header("Content-type: video/x-ms-asf "); break; case 1: header("Content-type: application/x-mplayer2"); break; case 2: header("Content-type: video/x-video avi"); break; //video/avi case 3: header("Content-type: video/avi"); break; case 4: Header("Content-Type: video/x-mediaurl"); Header("Accept-Ranges: bytes"); break; case 5: Header("Content-Type: ".mime_content_type($_GET['path'])); break; } header("Content-Length: " . filesize($_GET['path'])); Header("Content-Disposition: attachment; Filename=".$_GET['path']); fpassthru($fh); fclose($fh); break; case 'download-m3u': $content = "#EXTM3U".chr(92); $content = $content."http://blackhawk.mine.nu/richard2/ajax.php?function=download&path=".$_GET['path']."&session=".$_GET['session'].'&filetype=avi'; //header("Content-Type: application/x-vlc-plugin"); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"playlist.m3u\""); header("Content-Length: " . filesize($_GET['path'])); echo $content; break; case 'download': $fh = fopen($_GET['path'], 'rb'); $filenm = substr($_GET['path'], strrpos($_GET['path'], "\\") + 1); header("Content-Type: application/octet-stream"); header("Content-Transfer-Encoding: binary"); header('Content-Disposition: attachment; filename="'.$filenm."'"); header("Content-Length: " . filesize($_GET['path'])); fpassthru($fh); fclose($fh); break; default: echo "Function Not Registered!"; break; } } else { gotoindex(); } ?> den koden legger ti lett new line i begynnelsen:( mens denne (test2.php) legger ikke til en newline... <?php $fh = fopen("C:\php_auth.log", 'rb'); header("Content-Type: application/octet-stream"); header("Content-Transfer-Encoding: binary"); header('Content-Disposition: attachment; filename="php_auth.log"'); header("Content-Length: " . filesize("C:\php_auth.log")); fpassthru($fh); fclose($fh); ?> any idea? [EDIT]la til noe... Endret 17. mars 2007 av Richard87 Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 18. mars 2007 Rapporter Del Skrevet 18. mars 2007 Kanskje functions.php har en tom linje i toppen av fila. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå