probleem met file uploaden
Maar hij deed het niet, volgens alle comments moet hij het wel gewoon doen, maar ach.
Wat blijkt nu, hij wil het bestand met de tmp_name verplaatsen naar de gewenste map met de nieuwe naam, maar hij heeft die hele tmp_name niet.
Iemand misschien een idee, ligt het aan mijn server of aan het script?
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
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
<?php
global $_FILES;
$filename = $_FILES['userfile']['name'];
$allow[0] = "jpg";
$allow[1] = "gif";
$allow[2] = "bmp";
$allow[3] = "JPG";
if ($_POST["newname"])
$uploadname = $_POST['newname'];
else
$uploadname = $_FILES['userfile']['name'];
$extentie = substr($uploadname, -3);
for ($i = 0; $i < count($allow); $i++)
{
if ($extentie == $allow[$i])
{
$extentie_check = "ok";
$i = count($allow) + 5; // om loop te beindigen
}
}
if ($extentie_check)
{
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
move_uploaded_file($_FILES['userfile']['tmp_name'], "uploads/" . $uploadname);
echo "Het bestand is geupload onder de naam: $uploadname";
} else { echo "weer geen tmp name..."; }
}
else
{
echo "Pleur op!";
}
?>
global $_FILES;
$filename = $_FILES['userfile']['name'];
$allow[0] = "jpg";
$allow[1] = "gif";
$allow[2] = "bmp";
$allow[3] = "JPG";
if ($_POST["newname"])
$uploadname = $_POST['newname'];
else
$uploadname = $_FILES['userfile']['name'];
$extentie = substr($uploadname, -3);
for ($i = 0; $i < count($allow); $i++)
{
if ($extentie == $allow[$i])
{
$extentie_check = "ok";
$i = count($allow) + 5; // om loop te beindigen
}
}
if ($extentie_check)
{
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
move_uploaded_file($_FILES['userfile']['tmp_name'], "uploads/" . $uploadname);
echo "Het bestand is geupload onder de naam: $uploadname";
} else { echo "weer geen tmp name..."; }
}
else
{
echo "Pleur op!";
}
?>
(ja er hoort nog een formuliertje bij, maar daar blijft hij niet op hangen en dat ligt nogal voor de hand :p. Hij blijft hangen bij het verplaatsen van de file, want hij geeft weer: "Weer geen tmp name".. Dit heb ik overigens zelf erbij gegooit anders gaf hij helemaal geen foutmelding maar deed hij ook niets.)
Alvast bedankt,
Vincent hagen
Gewijzigd op 01/01/1970 01:00:00 door Vincent hagen
Maar goed, hier de foutmeldingen na het uploaden:
"
Notice: Undefined index: loc in D:\Websites\website.com\foto.php on line 24
Notice: Use of undefined constant upload - assumed 'upload' in D:\Websites\website.com\foto.php on line 31
Notice: Use of undefined constant afb - assumed 'afb' in D:\Websites\website.com\foto.php on line 166
"
Die 'undefined' foutmeldingen hebben er allemaal mee te maken dat je in je script variabelen of constanten gebruikt die niet bestaan. Controleer dus eerst of variabelen bestaan voordat je ermee gaat werken...
Vincent hagen schreef op 20.07.2008 12:34:
Notice: Undefined index: loc in D:\Websites\website.com\foto.php on line 24
De 'key' loc bestaat niet in een array() o.i.d.
Dus b.v. $_POST['loc'].
Vincent hagen schreef op 20.07.2008 12:34:
Notice: Use of undefined constant upload - assumed 'upload' in D:\Websites\website.com\foto.php on line 31
De constante 'upload' bestaat niet.
Waarschijnlijk $ vergeten?
Vincent hagen schreef op 20.07.2008 12:34:
Notice: Use of undefined constant afb - assumed 'afb' in D:\Websites\website.com\foto.php on line 166
De constante 'afb' bestaat niet.
Misschien een array-foutje?
$arr[afb] is fout en $arr['afb'] is goed.
Iemand enig idee? :p
2) Heb je de map waar de uploads terecht komen met chmod de goede rechten gegeven?
3) Hoe controleer je of er een file geupload is?
4) Heb je in het pad waar het bestand naartoe verplaatst moet worden de document root opgenomen?
Probeer eens zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (!$_FILES['userfile']['error']) {
// de extensiecheck even over slaan
if (is_uploaded_file ($_FILES['userfile']['tmp_name'])) {
if (move_uploaded_file ($_FILES['userfile']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . $uploadname)) {
echo 'upload gelukt';
}
}
}
}
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (!$_FILES['userfile']['error']) {
// de extensiecheck even over slaan
if (is_uploaded_file ($_FILES['userfile']['tmp_name'])) {
if (move_uploaded_file ($_FILES['userfile']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . $uploadname)) {
echo 'upload gelukt';
}
}
}
}
?>
1) In mijn formpje heb ik die multipart/form-data staan,
2) ik heb "only read" uit gezet... is dat goed of moet ik nog wat anders doen om meer rechte te geven?
3) ik controlleer dat met die if() net als wat jij deed eigenlijk... en als er dan staat dat het goed is kijk ik in die map waar hij hoord... als het goed is :P
4) uhhh die vat ik niet.. ik heb in het pad waar het bestandje moet komen niet iets van root opgenomen. wat houd dat in en hoe dat erin te zette?