Vanaf je website uploaden naar je webruimte

Status
Niet open voor verdere reacties.

apellsientje925

Gebruiker
Lid geworden
6 jun 2009
Berichten
142
Hallo,

Hoe kun je een bestand uploaden vanaf je website naar je webruimte?
Dus het bestand wat je in een tekstbox ziet met daarnaast bladeren.

Alvast bedankt!
 
Mij is nou niet echt duidelijk wat je wil. Wil je nu een FTP verbinding of een html textbox post?
 
Ik weet niet of je verstand van php hebt maar in een html formulier kun je het volgende doen en dat moet je met php dan behandelen.

De code die ik gebruikte :
Code:
<?php
if(isset($_POST['submit'])){
	if(move_uploaded_file($_FILES['thefile']['tmp_name'],"files/{$_FILES['thefile']['name']}")){
		print '<b>Bestand geupload</b><br>';
	}else{
		switch($_FILES['thefile']['error']){
			case 1:
				print "Max grootte<br>";
			break;
			case 2:
				print "Max grootte 2<br>";
			break;
			case 3:
				print "Gedeeltelijk geupload<br>";
			break;
			case 4:
				print "Geen bestand upgeload<br>";
			break;
		}
	}
}
?>
<html>
<head>
<title>
Fileupload
</title>
</head>
<body>
<h4><b>Upload niks persoonlijks! De bestanden zijn door iedereen tebekijken!!</b></h4>
<form method="POST" action="index.php" enctype="multipart/form-data">
<input type="file" name="thefile" /><br>
<input type="submit" name="submit" value="Upload" />
</form>
<a href="files/">Klik voor de Uploads</a>
</body>
 
Laatst bewerkt:
Ja ik heb versatnd van PHP.
1. Wat is er mis met deze code? Het lijkt toch te werken?
2. Je hebt duidelijk geen kaas gegeten van beveiligingen. Zeker in zo'n belangrijk gedeelte als een upload script is beveiliging erg belangrijk. Als iemand hier XSS gebruikt ben je al de sjaak. Laat staan dat er een "hidden extensie" wordt gebruikt, dan kunnen ze zo je server overnemen. Gebruik dus:
Code:
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['submit']){
dan ben je al beter beschermt tegen cross-side scripting. Controleer ook op extensie dus anders ben je zo je servertje kwijt.

Dinux
 
Ik had dit even vlug gemaakt paar maanden terug om een beetje rond te kijken ik gebruikte het alleen lokaal.
ik zal je beveiliging tip meenemen voor de volgende keer;)
 
ok beter en be careful met deze dingen, er zijn namelijk nog 1001 trucs om een uitvoerbaar bestand op een server te krijgen :d
 
Als dit de code wordt:
Code:
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['submit']){
	if(move_uploaded_file($_FILES['thefile']['tmp_name'],"files/{$_FILES['thefile']['name']}")){
		print '<b>Bestand geupload</b><br>';
	}else{
		switch($_FILES['thefile']['error']){
			case 1:
				print "Max grootte<br>";
			break;
			case 2:
				print "Max grootte 2<br>";
			break;
			case 3:
				print "Gedeeltelijk geupload<br>";
			break;
			case 4:
				print "Geen bestand upgeload<br>";
			break;
		}
	}
}
?>
<html>
<head>
<title>
Fileupload
</title>
</head>
<body>
<h4><b>Upload niks persoonlijks! De bestanden zijn door iedereen tebekijken!!</b></h4>
<form method="POST" action="index.php" enctype="multipart/form-data">
<input type="file" name="thefile" /><br>
<input type="submit" name="submit" value="Upload" />
</form>
<a href="files/">Klik voor de Uploads</a>
</body>
Geeft ie een error aan:
PHP Error Message

Parse error: syntax error, unexpected '{' in /home/a9877051/public_html/index.php on line 2
 
Er moet nog een haakje sluiten achter de if:
PHP:
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['submit'])){

Overigens kan je net zo goed
PHP:
if($_SERVER['REQUEST_METHOD'] === 'POST'){
gebruiken. Niet alle browsers sturen in alle gevallen $_POST['submit'] (ik neem aan dat dit de naam van de submit-knop is) mee.

[edit]Overigens zie ook niet hoe dit je beschermt tegen XSS. Dit controleert alleen of de pagina via een POST-request is opgevraagd.[/edit]
 
Laatst bewerkt:
Wat doet het niet? Code? Error? Uitleg? Met het zinnetje "hij doet het niet" is nog nooir mens verder gekomen. Even wat uitleg graag.
 
Dit is de error als het goed is

Warning: move_uploaded_file(files/favicon.ico) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/a9877051/public_html/index.php on line 3

en

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpF89H4q' to 'files/favicon.ico' in /home/a9877051/public_html/index.php on line 3
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan