Probleem met uploaden bestand
Ben al dagen bezig om het werkend te krijgen maar ik kom er niet uit.
Wie kan mij op weg helpen?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="de persoonlijke site van Leon Klaassen" />
<meta name="keywords" content="Studie, bussiness & ICT, Leon Klaassen, Fontys, HBO, deeltijd" />
<title>Vriendenboek</title>
<link href="vriendenboek2.css" rel="stylesheet" type="text/css" />
<style type="text/css">h1 {
font-size: 24px;
color: #000;
}
</style>
<script
src="jquery-183.js">
</script>
<script>
$(document).ready(function(e) {
$("form").hide();
$("form").show(6000);
$("button").click(function(e) {
$("form").hide(5000);
$("form").show(2000);
});
});
</script>
</head>
<body>
<div id="header">
</div>
<div id="container">
</div>
<div id="content">
<H1> Toevoegen auto</H1>
<form action="" method="POST" name="auto toevoegen">
<p>auto merk<br />
<input type="text" name="AUTO_MERK" value="..."/></p>
<p>Auto kleur<br />
<input type="text" name="AUTO_KLEUR" value="..."/></p>
<p> type van de auto<br /><input type="text" name="AUTO_TYPE" value="..."/></p>
<form method="POST" action="" enctype="multipart/form-data">
Bestand: <input type="file"file name="bestand"value="..."><br><br>
<input type="submit"submit name="Uploaden" value="Uploaden"></form>
<button> verberg </button>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?PHP
// In welke map komen de bestanden ? ( zorg dat deze de permissies 777 krijgt )
$map = "uploadbestanden/";
// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes )
$max = "10000";
// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg gif png";
// Hieronder niks aanpassen
// Controleren
if ($Uploaden){
if (!$bestand)
print ("Geef een bestand op!");
else{
// Bestands naam opvragen
$bestand2 = explode("\\", $bestand_name);
$laatste = count($bestand2) - 1;
$bestand2 = "$bestand2[$laatste]";
// Extensie van bestand opvragen
$bestand3 = explode(".", $bestand2);
$laatste = count($bestand3) - 1;
$bestand3 = "$bestand3[$laatste]";
$bestand3 = strtolower($bestand3);
// Toegestaande extensies opvragen
$ext = strtolower($ext);
$ext = explode(" ", $ext);
$aantal = count($ext);
for ($tel = 0;$tel < $aantal; $tel++){
if ($bestand3 == $ext[$tel]){
$extfout = "nee";
}
}
if (!$extfout){
print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan!");
}
else
{
if ($bestand_size > $max)
print ("Het bestand \"$bestand2\" is groter dan $max bytes!");
else
{
// Opslaan van het bestand
copy($bestand, "$map$bestand2");
print ("Het bestand \"$bestand2\" is met succes geupload!");
}
}
}
}
// Upload formulier
print ("<form method=post action=auto_toevoegen.php enctype=multipart/form-data>
Bestand: <input type=file name=bestand><br><br>
<input type=submit name=Uploaden value=Uploaden></form>");
if (!isset($_POST['Auto toevoegen']))
$merk = $_POST['AUTO_MERK'];
$kleur=$_POST['AUTO_KLEUR'];
$type=$_POST['AUTO_TYPE'];
$beschrijving=$_POST['id'];
$bestand2=$_POST['bestand'];
$merk = strip_tags($merk); // HTML-tags en PHP-code verwijderen
$kleur = strip_tags($kleur); //HTML-tags en PHP-code verwijderen
$bestand2 = strip_tags($bestand2); // HTML-tags en PHP-code verwijderen
$type = strip_tags($type); //HTML-tags en PHP-code verwijderen
//query opstellen eerste regel db velden, 2e regel de waarden
$registerquery = mysql_query("INSERT INTO automerken (AUTO_MERK,AUTO_KLEUR, AUTO_TYPE, AUTO_beschrijving, AUTO_foto) VALUES('".$merk."','".$kleur."','".$type."', '".$beschrijving."', '".$bestand2."')");
if($registerquery)
{ //doe iets als het goed gaat
echo "<p>Auto toegevoegd</p>";
}
else
{ //doe iets als het fout gaat
echo "<h1>Foutmelding</h1>";
echo "<p>Auto kan niet toegevoegd worden</p>";
}
?>
// In welke map komen de bestanden ? ( zorg dat deze de permissies 777 krijgt )
$map = "uploadbestanden/";
// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes )
$max = "10000";
// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg gif png";
// Hieronder niks aanpassen
// Controleren
if ($Uploaden){
if (!$bestand)
print ("Geef een bestand op!");
else{
// Bestands naam opvragen
$bestand2 = explode("\\", $bestand_name);
$laatste = count($bestand2) - 1;
$bestand2 = "$bestand2[$laatste]";
// Extensie van bestand opvragen
$bestand3 = explode(".", $bestand2);
$laatste = count($bestand3) - 1;
$bestand3 = "$bestand3[$laatste]";
$bestand3 = strtolower($bestand3);
// Toegestaande extensies opvragen
$ext = strtolower($ext);
$ext = explode(" ", $ext);
$aantal = count($ext);
for ($tel = 0;$tel < $aantal; $tel++){
if ($bestand3 == $ext[$tel]){
$extfout = "nee";
}
}
if (!$extfout){
print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan!");
}
else
{
if ($bestand_size > $max)
print ("Het bestand \"$bestand2\" is groter dan $max bytes!");
else
{
// Opslaan van het bestand
copy($bestand, "$map$bestand2");
print ("Het bestand \"$bestand2\" is met succes geupload!");
}
}
}
}
// Upload formulier
print ("<form method=post action=auto_toevoegen.php enctype=multipart/form-data>
Bestand: <input type=file name=bestand><br><br>
<input type=submit name=Uploaden value=Uploaden></form>");
if (!isset($_POST['Auto toevoegen']))
$merk = $_POST['AUTO_MERK'];
$kleur=$_POST['AUTO_KLEUR'];
$type=$_POST['AUTO_TYPE'];
$beschrijving=$_POST['id'];
$bestand2=$_POST['bestand'];
$merk = strip_tags($merk); // HTML-tags en PHP-code verwijderen
$kleur = strip_tags($kleur); //HTML-tags en PHP-code verwijderen
$bestand2 = strip_tags($bestand2); // HTML-tags en PHP-code verwijderen
$type = strip_tags($type); //HTML-tags en PHP-code verwijderen
//query opstellen eerste regel db velden, 2e regel de waarden
$registerquery = mysql_query("INSERT INTO automerken (AUTO_MERK,AUTO_KLEUR, AUTO_TYPE, AUTO_beschrijving, AUTO_foto) VALUES('".$merk."','".$kleur."','".$type."', '".$beschrijving."', '".$bestand2."')");
if($registerquery)
{ //doe iets als het goed gaat
echo "<p>Auto toegevoegd</p>";
}
else
{ //doe iets als het fout gaat
echo "<h1>Foutmelding</h1>";
echo "<p>Auto kan niet toegevoegd worden</p>";
}
?>
<FORM ACTION="vriendenboek2.php" METHOD=GET>
<INPUT TYPE=submit VALUE="ga terug" NAME=foo>
</FORM>
<strong>
</strong>
<P></P>
</div>
</body>
</html>
* je kan toegestane extensies beter in een array zetten dan hoeft je explode niet te gebruiken.
* variablen buiten quotes..
* kijk is naar move_uploaded_file
Gewijzigd op 06/01/2013 13:04:51 door Bo Ter Ham
http://www.phphulp.nl/php/forum/topic/probleem-met-uploaden-bestand/88478/last/
http://www.phphulp.nl/php/forum/topic/probleem-met-uploaden-bestand/88477/last/
Waarom maak je 2 keer een forum aan?
http://www.phphulp.nl/php/forum/topic/probleem-met-uploaden-bestand/88477/last/
Waarom maak je 2 keer een forum aan?
Gewijzigd op 06/01/2013 13:08:24 door Keizer Webdesign
Maar nog belangrijker, heb je al van de superglobal $_FILES gehoord? Bestanden die worden geupload komen namelijk niet in de $_POST terecht, maar in $_FILES.
Ik wil Leon ook even vragen om [code] en [/code]-tags om zijn script te plaatse, zo wordt alles beter leesbaarder.
Het ziet er naar uit dat dit script behoorlijk oud is, uit 2000, vermoed ik. $Uploaden heeft geen waarde. Ik denk dat je het beste een recente tutorial over uploaden kan doornemen of een recent script kan zoeken.
allemaal bedankt voor de reacties, ik ga gewoon weer opnieuw beginnen, hebben jullie toevallig tips waar ik goede recente tutorials kan vinden?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$map = 'uploadbestanden/'; // map waar bestanden worden opgeslagen
if(isset($_FILES['bestand']) && strlen($_FILES['bestand']['name']) > 1) {
$map = $map . basename( $_FILES['bestand']['name']); // bestandsnaam
if(move_uploaded_file($_FILES['bestand']['tmp_name'], $map)) { //verplaatsen naar "uploadbestanden"
echo 'Bestand: <b>'. basename( $_FILES['bestand']['name']). '</b> is met success geupload'; // uploaden was successvol
}
else echo '<b>Bestand kon niet worden geupload</b>'; //uploaden mislukt
}
?>
$map = 'uploadbestanden/'; // map waar bestanden worden opgeslagen
if(isset($_FILES['bestand']) && strlen($_FILES['bestand']['name']) > 1) {
$map = $map . basename( $_FILES['bestand']['name']); // bestandsnaam
if(move_uploaded_file($_FILES['bestand']['tmp_name'], $map)) { //verplaatsen naar "uploadbestanden"
echo 'Bestand: <b>'. basename( $_FILES['bestand']['name']). '</b> is met success geupload'; // uploaden was successvol
}
else echo '<b>Bestand kon niet worden geupload</b>'; //uploaden mislukt
}
?>
Parse error: syntax error, unexpected '$bestand' (T_VARIABLE) in D:\applicaties\wamp\www\iwp\Vriendenboek\uploadfile.php on line 71
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 200000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
}
}
}
else
{
echo "Invalid file";
}
if (!isset($_POST['Upload']))
$merk = $_POST['AUTO_MERK'];
$kleur=$_POST['AUTO_KLEUR'];
$type=$_POST['AUTO_TYPE'];
$beschrijving=$_POST['AUTO_beschrijving'];
$bestand=$_FILES['file']['name'];
$merk = strip_tags($merk); // HTML-tags en PHP-code verwijderen
$kleur = strip_tags($kleur); //HTML-tags en PHP-code verwijderen
//$bestand = strip_tags($bestand); // HTML-tags en PHP-code verwijderen
$type = strip_tags($type); //HTML-tags en PHP-code verwijderen
$beschrijving = strip_tags($beschrijving); //HTML-tags en PHP-code verwijderen
//query opstellen eerste regel db velden, 2e regel de waarden
$registerquery = mysql_query("INSERT INTO automerken (AUTO_MERK,AUTO_KLEUR, AUTO_TYPE, AUTO_beschrijving, AUTO_foto) VALUES('".$merk."','".$kleur."','".$type."', '".$beschrijving."', '"$bestand"')");
if($registerquery)
{ //doe iets als het goed gaat
echo "<p>Auto toegevoegd</p>";
}
/ else
{ //doe iets als het fout gaat
echo "<h1>Foutmelding</h1>";
echo "<p>Auto kan niet toegevoegd worden</p>";
}
?>
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 200000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
}
}
}
else
{
echo "Invalid file";
}
if (!isset($_POST['Upload']))
$merk = $_POST['AUTO_MERK'];
$kleur=$_POST['AUTO_KLEUR'];
$type=$_POST['AUTO_TYPE'];
$beschrijving=$_POST['AUTO_beschrijving'];
$bestand=$_FILES['file']['name'];
$merk = strip_tags($merk); // HTML-tags en PHP-code verwijderen
$kleur = strip_tags($kleur); //HTML-tags en PHP-code verwijderen
//$bestand = strip_tags($bestand); // HTML-tags en PHP-code verwijderen
$type = strip_tags($type); //HTML-tags en PHP-code verwijderen
$beschrijving = strip_tags($beschrijving); //HTML-tags en PHP-code verwijderen
//query opstellen eerste regel db velden, 2e regel de waarden
$registerquery = mysql_query("INSERT INTO automerken (AUTO_MERK,AUTO_KLEUR, AUTO_TYPE, AUTO_beschrijving, AUTO_foto) VALUES('".$merk."','".$kleur."','".$type."', '".$beschrijving."', '"$bestand"')");
if($registerquery)
{ //doe iets als het goed gaat
echo "<p>Auto toegevoegd</p>";
}
/ else
{ //doe iets als het fout gaat
echo "<h1>Foutmelding</h1>";
echo "<p>Auto kan niet toegevoegd worden</p>";
}
?>
Toevoeging op 07/01/2013 21:54:35:
Toch bedankt maar ik heb het gevonden was de puntjes vergeten bij "$bestand"
weer 3 uur van mijn leven naar puntjes gezocht;0)
je mist puntjes, kijk naar eens bij de voorgaande variabelen...
Ja had het al gezien! Morgen assessment dit was de laatste opdracht. Allemaal bedankt voor de hulp!