Avatar billede ppr Nybegynder
16. november 2005 - 12:43 Der er 6 kommentarer og
1 løsning

Download script

Jeg søger et script som kan skjule den "rigtige" adresse ifm. downloading.
Avatar billede jakobdo Ekspert
16. november 2005 - 12:49 #1
<?php

function dl_file($file){

  //First, see if the file exists
  if (!is_file($file)) { die("<b>404 File not found!</b>"); }

  //Gather relevent info about file
  $len = filesize($file);
  $filename = basename($file);
  $file_extension = strtolower(substr(strrchr($filename,"."),1));

  //This will set the Content-Type to the appropriate setting for the file
  switch( $file_extension ) {
        case "pdf": $ctype="application/pdf"; break;
    case "exe": $ctype="application/octet-stream"; break;
    case "zip": $ctype="application/zip"; break;
    case "doc": $ctype="application/msword"; break;
    case "xls": $ctype="application/vnd.ms-excel"; break;
    case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
    case "gif": $ctype="image/gif"; break;
    case "png": $ctype="image/png"; break;
    case "jpeg":
    case "jpg": $ctype="image/jpg"; break;
    case "mp3": $ctype="audio/mpeg"; break;
    case "wav": $ctype="audio/x-wav"; break;
    case "mpeg":
    case "mpg":
    case "mpe": $ctype="video/mpeg"; break;
    case "mov": $ctype="video/quicktime"; break;
    case "avi": $ctype="video/x-msvideo"; break;

    //The following are for extensions that shouldn't be downloaded (sensitive stuff, like php files)
    case "php":
    case "htm":
    case "html":
    case "txt": die("<b>Cannot be used for ". $file_extension ." files!</b>"); break;

    default: $ctype="application/force-download";
  }

  //Begin writing headers
  header("Pragma: public");
  header("Expires: 0");
  header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  header("Cache-Control: public");
  header("Content-Description: File Transfer");
 
  //Use the switch-generated Content-Type
  header("Content-Type: $ctype");

  //Force the download
  $header="Content-Disposition: attachment; filename=".$filename.";";
  header($header );
  header("Content-Transfer-Encoding: binary");
  header("Content-Length: ".$len);
  @readfile($file);
  exit;
}

?>

Dette er fundet på: http://dk2.php.net/header -> 28-Dec-2004 11:17
Avatar billede ppr Nybegynder
16. november 2005 - 17:47 #2
Det er nu et færdigt script jeg søger med denne funktion...
Avatar billede jakobdo Ekspert
16. november 2005 - 18:38 #3
Så laver du på din side:
<?php
//funktionen fra før...
$filename = "jeg_er_en_hest.jpg";
dl_file($filename);
?>
Avatar billede ppr Nybegynder
17. november 2005 - 12:30 #4
findes dette ikke færdigt?
Avatar billede jakobdo Ekspert
17. november 2005 - 12:40 #5
Jo, lige op over...
Ellers må du prøve at forklare dig en smule bedre.
Avatar billede ppr Nybegynder
17. november 2005 - 17:09 #6
Jeg prøver, dette er kode til indsættelse i en side - jeg søger et selvstændigt "program" hvor man kan uploade filer. Ligesom dette her http://phpatm.free.fr/ blot med den forskel at ingen kan se den virkelige url adresse.
Avatar billede ppr Nybegynder
15. december 2005 - 11:04 #7
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester