hejsan!
jag håller på med att experimentera med ett "download-script" i php, som jag hittade i php-forumet (jag kan inte php...)
jag undrar om det är möjligt att skriva om scriptet till asp ??
på så sätt skulle jag förstå lite mer...och kunna modifiera scriptet, och kanske kunna använda sql i det.
scriptet:
<?php
$redirectpage = "error.php";
// where to go if $validreferer != $HTTP_REFERER
$validreferer = "test.htm";
// pages which are allowed to call this script without beeing automatically redirected to $redirectpage
$dir = "c:\\inetpub\\wwwroot\\test\\php\\wfDL\\";
// dir where the files are stored
// could also be a complete url, ('http://www.yourpage.com/dir/')
$files = array (
"01" => "$dir|bild_1.jpg",
"02" => "$dir|2.zip",
"03" => "$dir|3.zip",
"04" => "$dir|4.zip"
);
// list your files in this array
// "[id#]" => "[url/dir where the files are stored]|[filename]"
if (eregi($validreferer,$HTTP_REFERER)) {
$permission = 1;
} else {
$permission = 0;
}
list($path,$filename) = explode("|","$files[$id]");
if ($path == "" || $filename == "") {$permission = 0;}
if ($permission == 1) {
header("Content-Disposition: atachment; filename=$filename");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize("$path/$filename"));
header("Pragma: no-cache");
header("Expires: 0");
$fp=fopen("$path/$filename","r");
print fread($fp,filesize("$path/$filename"));
fclose($fp);
exit();
}
if ($permission == 0) {header("Location: $redirectpage");}
?>
är det någon som kan skriva om det till asp ?
/henrik
[Redigerat av henrik2001 den 14 jul 2001]
emissionMedlem sedan dec. 19996 721 inlägg Ungefär så här:
<%
id=request("id")
redirectpage = "error.asp"
validreferer = "test.htm"
response.buffer=false
dir = "c:\inetpub\wwwroot\test\php\wfDL\"
set files = server.createobject("Scripting.Dictionary")
files.add "01",dir & "|bild_1.jpg"
files.add "02",dir & "|2.zip"
files.add "03",dir & "|3.zip"
files.add "04",dir & "|4.zip"
if instr(request.servervariables("HTTP_REFERER"),validreferer)>0 then
permission = 1
else
permission = 0
end if
list = split(files(id),"|")
path=list(0)
filename=list(1)
if path = "" or filename = "" then permission = 0
if (permission = 1) then
set objFSO=server.createobject("scripting.filesystemobject")
response.contenttype="application/octet-stream"
response.addheader "Content-Disposition","attachment; filename=""" & filename & """"
response.addheader "Content-Length",objFSO.GetFile(path & filename).Size
response.addheader "Pragma","no-cache"
response.expires=0
Set objFM = server.CreateObject("SoftArtisans.FileManager")
Set objBS = objFM.OpenBinaryFile(path & filename)
response.binarywrite objBS.ReadAll
Set objBS = Nothing
Set objFM = Nothing
set objFSO=Nothing
response.end
else
response.redirect redirectpage
end if
%>
ok...ska testa när jag hinner!
hoppas det funkar!!
=)
/henrik
------------------
...
Hej...
Okej...nu har jag testat, men jag får följande felmeddelande:
Serverobjekt fel 'ASP 0177 : 800401f3'
Server.CreateObject misslyckades
/test/dl/test.asp, rad 35
800401f3
scriptet:
<%
id = Request.Querystring("id")
redirectpage = "error.asp"
validreferer = "test.htm"
response.buffer=false
dir = "c:\inetpub\wwwroot\test\DL\"
Set files = Server.Createobject("Scripting.Dictionary")
files.add "1",dir & "|kent.jpg"
files.add "2",dir & "|2.zip"
files.add "3",dir & "|3.zip"
files.add "4",dir & "|4.zip"
If Instr(Request.Servervariables("HTTP_REFERER"),validreferer) > 0 Then
permission = 1
Else
permission = 0
End If
list = split(files(id),"|")
path=list(0)
filename=list(1)
If Path = "" OR Filename = "" Then permission = 0
If (permission = 1) Then
Set objFSO=server.createobject("Scripting.Filesystemobject")
Response.Contenttype="application/octet-stream"
Response.Addheader "Content-Disposition","attachment; filename=""" & filename & """"
Response.Addheader "Content-Length",objFSO.GetFile(path & filename).Size
Response.Addheader "Pragma","no-cache"
Response.Expires=0
' rad 35 nedan
Set objFM = Server.CreateObject("SoftArtisans.FileManager")
Set objBS = objFM.OpenBinaryFile(path & filename)
Response.BinaryWrite objBS.ReadAll
Set objBS = Nothing
Set objFM = Nothing
set objFSO=Nothing
Response.End
Else
Response.ReDirect redirectpage
End If
%>
nån som vet...?
/henrik
------------------
...
[Redigerat av henrik2001 den 11 jul 2001]
VideMedlem sedan dec. 19998 577 inlägg Har du den komponenten installerad?
------------------
Vide rox = new Vide();
rox.learn("C#");
webeye.nu
nej...kom på det...men jag vet ingenting om hur man installerar komponenter på servern!!!
jag har mina aspfiler på en kompis' server...
/henrik
------------------
...
VideMedlem sedan dec. 19998 577 inlägg tack vide!
du ä så snäller....
=)
/henrik
redigering: mitt etthundrade inlägg, jippi!
[Redigerat av henrik2001 den 11 jul 2001]