Php --> asp ?

ASP

7 svar · 219 visningar · startad av henrik2001

Medlem sedan dec. 2000241 inlägg
Trådstart#1

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&#0124;bild_1.jpg",
"02" => "$dir&#0124;2.zip",
"03" => "$dir&#0124;3.zip",
"04" => "$dir&#0124;4.zip"
);
// list your files in this array
// "[id#]" => "[url/dir where the files are stored]&#0124;[filename]" 

if (eregi($validreferer,$HTTP_REFERER)) {
$permission = 1;
} else {
$permission = 0;
} 

list($path,$filename) = explode("&#0124;","$files[$id]"); 

if ($path == "" &#0124;&#0124; $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]

Medlem sedan dec. 19996 721 inlägg
#2

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 & "&#0124;bild_1.jpg"
files.add "02",dir & "&#0124;2.zip"
files.add "03",dir & "&#0124;3.zip"
files.add "04",dir & "&#0124;4.zip"

if instr(request.servervariables("HTTP_REFERER"),validreferer)>0 then
	permission = 1
else
	permission = 0
end if

list = split(files(id),"&#0124;") 
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

%>
Medlem sedan dec. 2000241 inlägg
#3

ok...ska testa när jag hinner!
hoppas det funkar!!
=)
/henrik

Medlem sedan dec. 2000241 inlägg
#4

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 & "&#0124;kent.jpg"
files.add "2",dir & "&#0124;2.zip"
files.add "3",dir & "&#0124;3.zip"
files.add "4",dir & "&#0124;4.zip"

If Instr(Request.Servervariables("HTTP_REFERER"),validreferer) > 0 Then
permission = 1
Else
permission = 0
End If

list = split(files(id),"&#0124;")
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

Medlem sedan dec. 19998 577 inlägg
#5

Har du den komponenten installerad?

Medlem sedan dec. 2000241 inlägg
#6

nej...kom på det...men jag vet ingenting om hur man installerar komponenter på servern!!!
jag har mina aspfiler på en kompis' server...

/henrik

Medlem sedan dec. 19998 577 inlägg
Medlem sedan dec. 2000241 inlägg
#8

tack vide!

du ä så snäller....

=)

/henrik

redigering: mitt etthundrade inlägg, jippi!

[Redigerat av henrik2001 den 11 jul 2001]

258 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)