Autor | Zpráva | ||
---|---|---|---|
Silver8000 Profil |
Ahoj lidi prosim porad te,
Udelal jsem si stahovac na stahovani vzdalenych souboru. Doma mi jede uplne perfektne ale kdyz jsem ho dal na server tak nejede... Nevite cim to muze byt? Zde prikladam cele kody : index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Simple Form Handling Through AJAX</title> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $("#countStatDiv").load("getTable.php"); var refreshId = setInterval(function() { $("#countStatDiv").load("getTable.php"); }, 2000); $.ajaxSetup({ cache: false }); }); </script> <script type="text/javascript"> function loadXmlDoc(fname){ var xmlhttp; if (window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); } else{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function(){ if (xmlhttp.readyState == 4 && xmlhttp.status == 200){ document.getElementById("ajaxify").innerHTML = xmlhttp.responseText; } } xmlhttp.open("POST", "remote_download.php", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.send("url=" + fname); } </script> </head> <body> <p> <div align="center"> <form id="frm" action="" method="post"> <input type="text" name="url" size="50"/> <input type="button" value="submit" onclick="loadXmlDoc(url.value)" /> </form> <div id="countStatDiv" style="height:50px;"></div> <div id="ajaxify" style="height:50px;"></div> </div> </p> </body> </html> getTable.php <?php session_start(); $percent = @$_SESSION['percent_uploaded']; $local_file_size = @$_SESSION['local_file_size']; $remote_file_size = @$_SESSION['remote_file_size']; if($percent){ //print_r($_SESSION); $left_file_size = round(($remote_file_size-$local_file_size)/1024/1024); $right_file_size = round(($local_file_size)/1024/1024); if($left_file_size){ $size_info = <<<SIZEINFO Still need to download : $left_file_size MB SIZEINFO; }else{ $size_info = <<<SIZEINFO You have downloaded : $right_file_size MB SIZEINFO; } echo <<<INFO <div style="background-color: red; width:100px; border: 1px solid black;"> <div style="background-color: green; color: white; font-weight:bold; max-width: 100px; width:{$percent}px;"> <div align="center">{$percent}%</div> </div> </div> $size_info INFO; } ?> remote_download.php <?php // maximum execution time in seconds set_time_limit(24 * 60 * 60); include('remote_file_size.php'); include('format_size.php'); if (@$_POST['url']){ // folder to save downloaded files to. must end with slash $destination_folder = 'downloads/'; if (!file_exists($destination_folder)){ mkdir($destination_folder); } $url = $_POST['url']; $remote_file_size = remote_file_size($url); $newfname = $destination_folder . basename($url).'.part'; $set_speed = 1024*8; // Total processes //echo $remote_file_size.'<br />'; $file = fopen ($url, "rb"); if ($file) { $newf = fopen ($newfname, "wb"); $readf = fopen($newfname, 'rb'); if ($newf) while(!feof($file)) { fwrite($newf, fread($file, $set_speed), $set_speed); fseek($readf, 0, SEEK_END); $local_file_size = ftell($readf); // Calculate the percentation $percent = intval(($local_file_size/$remote_file_size) * 100); //echo $percent.' processed. '.file_size($local_file_size); session_start(); $_SESSION['percent_uploaded'] = $percent; $_SESSION['local_file_size'] = $local_file_size; $_SESSION['remote_file_size'] = $remote_file_size; session_write_close(); } } if ($file) { fclose($file); } if ($newf) { fclose($newf); } if ($readf) { fclose($readf); } // Sleep one second so we can see the delay sleep(1); if(rename($newfname,str_replace('.part','',$newfname))){ $downloaded_size = file_size($remote_file_size); echo 'Process completed '.$downloaded_size; } } ?> remote_file_size.php <?php function remote_file_size($url){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_MAXREDIRS, 3); curl_exec($ch); $filesize = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); curl_close($ch); if ($filesize) return $filesize; } ?> format_size.php <?php function file_size($val){ $fsizebyte = $val; if ($fsizebyte < 1024) { $fsize = $fsizebyte." bytes"; }elseif (($fsizebyte >= 1024) && ($fsizebyte < 1048576)) { $fsize = round(($fsizebyte/1024), 2); $fsize = $fsize." KB"; }elseif (($fsizebyte >= 1048576) && ($fsizebyte < 1073741824)) { $fsize = round(($fsizebyte/1048576), 2); $fsize = $fsize." MB"; }elseif ($fsizebyte >= 1073741824) { $fsize = round(($fsizebyte/1073741824), 2); $fsize = $fsize." GB"; }; return $fsize; } ?> |
||
DJ Miky Profil |
#2 · Zasláno: 25. 9. 2013, 23:36:31
„tak nejede“ znamená přesně co? Co se stane a nestane? Jaká chybová hláška se vypíše?
|
||
Silver8000 Profil |
no stahovac nestahuje a zadna chybova hlaska se nezobrazi...
Pokusne demo zde Taky jsem myslel ze je to kvuli allow_url_fopen ale neni ten je povolen. |
||
Časová prodleva: 11 let
|
0