[php] Sciaganie pliku

0

Wykorzystałem plik download.php z kojota i napisałem sobie taki skrypt do ściągania pliku:

 /* zapytanie SQL i odczyt danych o pliku */
    $res = $db -> sql_query("SELECT id, path, size, category FROM program");
    
    while($row = $db -> fetch_array($res))
    {
	 if($row['id'] == $_GET['id'])
	 {
	      $file = $row['path'];
	      $path = dir_name($row['path'], $row['category']);
	      $size = filesize($path);
	 }
    }
    
    /* jeżeli nie dało sie odczytać danych o pliku */
    if(!isset($size)) die("Złe wywołanie skryptu...");

    /* zwiekszenie liczby sciagniec o 1 */
    $db -> sql_query("UPDATE program SET count = (count + 1) WHERE id = " . $_GET['id']);

    /* odczyt rozszerzenia pliku */
    $ext = substr($file, -3);

    switch ($ext)
    {
       case 'zip':
	   $type = 'application/x-zip-compressed';
       case 'exe':
	   $type = 'application/exe';
       case 'pdf':
	   $type = 'application/pdf';
       default:
	   $type = 'text/plain';
    }

    /* wysłanie nagłówka */
    header('Pragma: no-cache');
    header("Content-type: $type; name=\"$file\"");
    header("Content-Disposition: attachment; filename=\"$file\"");
    header("Content-Length: $size");
      
    /* odczyt pliku */
    while (!feof($path))
    {
        echo fread($path, 1024);
    }

    fclose($path);
    
    exit;

Niby wszystko jest tak jak na 4p ale plik ściąga się jak gdyby "nie po kolei" tzn ściąga dokładnie tyle ile powinien, ale aplikacja jest uszkodzona, ponad to głupia sprawa, ale flash get nabija od razu tyle ściągnięć ile jest jet'ów... widziałem kiedyś arta albo wskazówkę o ściąganiu plików, z możliwością wznowienia napisaną przez Piechnata, ale nie mogę jej znaleźć :|

0

widziałem kiedyś arta albo wskazówkę o ściąganiu plików, z możliwością wznowienia napisaną przez Piechnata, ale nie mogę jej znaleźć :|

http://4programmers.net/article.php/id=534

0

widziałem kiedyś arta albo wskazówkę o ściąganiu plików, z możliwością wznowienia napisaną przez Piechnata, ale nie mogę jej znaleźć :|

http://4programmers.net/article.php/id=534

ok, dzięki.. nie wiem dlaczego sam nie umiałem tego znaleźć.

Jednak nadal lekko mnie irytuje ze w moim kodzie wszystko działa na podobnej zasadzie jak plik download.php z 4p, a mimo to sie sypie :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1