webForumDet fria alternativet

Php --> asp ?

7 svar · 203 visningar · startad av henrik2001

henrik2001Medlem sedan dec. 2000241 inlägg
#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]

emissionMedlem 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

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

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

------------------
...

henrik2001Medlem 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

------------------
...

[Redigerat av henrik2001 den 11 jul 2001]

VideMedlem sedan dec. 19998 577 inlägg
#5

Har du den komponenten installerad?

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

henrik2001Medlem 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

------------------
...

VideMedlem sedan dec. 19998 577 inlägg
#7

Du laddar hem den här: http://www.aspstudio.com/softartisans/safilemanager.html

Och installationsinstruktioner: http://support.softartisans.com/docs/safilemgrdocs/default.asp

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

henrik2001Medlem 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]

144 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)