Avatar billede oldnick Nybegynder
18. august 2006 - 08:09 Der er 9 kommentarer og
1 løsning

Upload uden filetype restriktioner og med +100mb i filesize

Hej

Jeg har kigget lidt rundt, og man må sige at emnet er ret omtalt, men jeg synes ikke lige at jeg har kunne finde det jeg leder efter.

Det jeg gerne vil er at have et upload script, hvor jeg bestemmer, upload stien, file type, filesize.

Filetype skal helt være sat til *, men det kunne være rart at man nemt kunne lave restriktioner til eks. kun pdf!

Filesize skal kunne være over +100Mb.

-----
For lige at runde af ville det også være rart med et script hvor man kunne se det uploadet filer. Det kan jeg nok godt selv finde ud af men hvis der er nogen som ligger inde med et smart et, ville det være lækkert med et udgangs punkt.

På forhånd tak :)
Avatar billede nyhuus Nybegynder
18. august 2006 - 10:39 #1
Du kan bruge dette script det er sat til 50mb, men du kan bare rette det til 100+ :)
Husk du skal i samme mappe som filerne til dette script have en mappe ved navn files og den skal have CHMOD 777, og for at uploade skal du bruge upload.php

der hvor du skal rette fra 50mb til 100 er i upload.php i følge linie
if ($size > 50000000) (husk du skal ændre de 2 første ciffere(50) til 100), alså ik bare udskifte 5 med 1 fordi så bliver det kun 10mb

håber dette kan hjælpe dig i gang med et script som du kan bruge, du skal være velkommen til at vidre udvikle på det

upload.htm
---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=upload.php">
<html>
<head>
<title>
Upload
</title>
<head>
<body>
<h2><font face="arial" color="green"></font></h2><br><br>
<Iframe src="upload.php" width="300" height="600"></Iframe>
</body>
</html>
---

upload.php
---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=upload.php">
<html>
<head>
<title>
Upload
</title>
<head>
<body>
<h2><font face="arial" color="green"></font></h2><br><br>
<Iframe src="upload.php" width="300" height="600"></Iframe>
</body>
</html>
---

Upload_Form.php
---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Upload</title>
</head>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
Select a File to Upload:<br>
<input type="file" name="uploaded"><br>
<input type="hidden" name="MAX_FILE_SIZE" value="50000000"><br>
<input type="Submit" value="Upload File">
</form>

</body>
</html>
---

thank_you.php
---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Upload</title>

</head>
<body>

<tr>
<td width="600" style="border:1px solid #000099;">
<p align="center">
<br>
<a href="upload.php">Click Here To Go Back</a>
<br><br>
</p>

</body>
</html>
---
Avatar billede oldnick Nybegynder
18. august 2006 - 10:54 #2
Tak for svaret, men er det bare mig eller er upload.html og upload.php ikke det samme, jeg kan ikke rigtigt se noget php script i det du har skrevet??
Avatar billede nyhuus Nybegynder
18. august 2006 - 11:12 #3
jo, det var en fejl :)
here we go :)

upload.php
---
<?php

//Check first if a file has been selected
if (is_uploaded_file($_FILES['uploaded']['tmp_name']))
{

//Get the Size of the File
$size = $_FILES['uploaded']['size'];

//Make sure that $size is less than 50MB
if ($size > 50000000)
{

//Print the error
echo 'File Too Large. Please try again.';
exit();

}

//Move the File to the Directory of your choice
if (move_uploaded_file($_FILES['uploaded']['tmp_name'],'files/'.$_FILES['uploaded']['name'])) {

//tell the user that the file has been uploaded
echo 'Your file has been uploaded';
//Include the Next Page
include 'thank_you.php';
exit();

}
else
{

//Print error
echo 'Unable to move the File';
exit();

}
}
else
{

//Print error
echo '';
//Include the Form
include 'Upload_Form.php';
exit();

}

?>
---
Avatar billede nyhuus Nybegynder
18. august 2006 - 11:13 #4
tja det sku have været et svar, men det kommer så her ;)
Avatar billede oldnick Nybegynder
18. august 2006 - 12:04 #5
Tak, det var lige det jeg skulle bruge, simpelt og nemt. Jeg har lige lavet det en lille smule om, så man ikke behøver at have flere dokumenter og så man nemt kan ændre stien ($path = "stien til dir som filen skal uploads til";)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Upload</title>
</head>
<body>
<?php
$path    = "test/";

if (is_uploaded_file($_FILES['uploaded']['tmp_name']))
{

$size = $_FILES['uploaded']['size'];

if ($size > 100000000)
{

    echo 'Filen er for stor';

}

if (move_uploaded_file($_FILES['uploaded']['tmp_name'],''.$path.''.$_FILES['uploaded']['name'])) {

    echo 'Filen er blevet uploadet';
} else {

    echo 'Kunne ikke uploade filen filen';
    }
}
?>

<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="file" name="uploaded"><br>
<input type="hidden" name="MAX_FILE_SIZE" value="100000000"><br>
<input type="Submit" value="Send">
</form>

</body>
</html>
Avatar billede oldnick Nybegynder
18. august 2006 - 12:07 #6
Du skal selvfølgelig have dine point.. :)
Avatar billede nyhuus Nybegynder
18. august 2006 - 12:23 #7
hehe :) ja det med at lave det sammen har jeg nu os gjort i et andet script, men det der er nemt at finde rundt i for nybegyndere, der kan det godt virke lidt forvirene hvis det ligger i samme fil (det synes jeg ivertigfald da jeg var nybegynder)
Avatar billede oldnick Nybegynder
18. august 2006 - 12:28 #8
Ok, jeg er nok ikke så nybegynder som jeg måske virker til.. he he
Avatar billede nyhuus Nybegynder
18. august 2006 - 12:56 #9
hehe nej, men så kan andre her inde jo os få glæde af det ;)
Avatar billede oldnick Nybegynder
18. august 2006 - 13:37 #10
Lige præsis, det er nemlig superfedt når dem som har fået et rigtigt svar også poster en fuld version af den rigtigt kode. :)


Slut
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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