move_uploaded_file werkt niet
ik ben bezig met een script die fotos kan uploaden
ik heb een script van het internet gekopieert maar hij werkt niet
dit is mijn script
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$map = "pf/";
$target_path = $map . basename($_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES["file"]["tmp_name"], $target_path))
{
echo "The file ". basename($_FILES['uploadedfile']['name']).
" has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!";
}
?>
$map = "pf/";
$target_path = $map . basename($_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES["file"]["tmp_name"], $target_path))
{
echo "The file ". basename($_FILES['uploadedfile']['name']).
" has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!";
}
?>
weet iemand wat ik fout doe
Als je een kapotte auto naar de garage brengt, dan leg je toch ook uit wat er niet werkt, en wat er gebeurt?
Gewijzigd op 07/01/2014 20:29:42 door - Ariën -
Maar als ik de code zo run:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$map = "pf/";
$target_path = $map . basename($_FILES['uploadedfile']['name']);
move_uploaded_file($_FILES["file"]["tmp_name"], $target_path)
Echo "The file is succesvol geuploadt";
?>
$map = "pf/";
$target_path = $map . basename($_FILES['uploadedfile']['name']);
move_uploaded_file($_FILES["file"]["tmp_name"], $target_path)
Echo "The file is succesvol geuploadt";
?>
Krijg ik geen error te zien maar alleen "the file is succesvol geupload" maar
Als ik in de map pf kijk is hij leeg
Logisch, er mist daar foutafhandeling.
Het probleem is dus dat hij niks upload
Bouw foutafhandeling in, en kijk eens met print_r() naar $_FILES.
- Aar - op 07/01/2014 20:29:21:
Als je een kapotte auto naar de garage brengt, dan leg je toch ook uit wat er niet werkt, en wat er gebeurt?
Tenzij ze de nieuwste versie van de glazen bol hebben, nergens meer voor nodig dan =]
Ini_set('display_errors',1);
Error_reporting(E_ALL);
@-Aar- als ik een print_r overheen doe krijg ik alleen een
erbij te zien (dan staan er dus 2)
Christian k op 08/01/2014 08:20:06:
@ivop ik heb de errors erin gezet en krijg dit te zien:
@-Aar- als ik een print_r overheen doe krijg ik alleen een
erbij te zien (dan staan er dus 2)
@-Aar- als ik een print_r overheen doe krijg ik alleen een
erbij te zien (dan staan er dus 2)
Notice is niet zo zeer een error, maar het is wel vreemd dat die aangeeft dat uploadedfile leeg is, dan kan er ook niks worden geupload.
De ene keer gebruik je ook file en dan weer uploadedfile. Waarschijnlijk heb je daar ook een fout in zitten.
Wel opvallend overigens dat je eerst $_FILES['uploadedfile'] gebruikt en dan $_FILES["file"]. Een van de twee is dus per definitie al fout.
$_FILES['uploadedfile'] betekent dat je dit moet hebben :
<input type="file" name="uploadedfile">
OFWEL
$_FILES['file'] betekent dat je dit moet hebben :
<input type="file" name="file">
En uiteraard moet je ook het enctype invullen:
<form action="..." method="post" enctype="multipart/form-data">
Zorg dat de gegevens overal overeenkomen
Gewijzigd op 08/01/2014 10:12:10 door Kris Peeters
en aangezien de onbekende index niet op regel 5 genoemd wordt: het veld in html heet dus kennelijk 'file'
ergo: op regel 3 dus ook 'file' gebruiken ipv 'uploadedifle'.
Daarmee heb je een filename te pakken op regel 3, zodat op regel 5 de file ook verplaatst wordt met een filename in het path. Grotere kans dat het move-n dan wel lukt, tenzij er geen schrijfrechten in die map zijn.
Verder even nadenken over het puntje: jij gebruikt nu de naam van het bestand zoals je gebruiker dat aanbiedt. Dus ook als het bestand al bestaat, of als het script ik_ga_je_hacken.php heet.
html:
Code (php)
1
2
3
4
2
3
4
<form action="#" method="POST" enctype="multipart/form-data">
<input type="file" name="file"">
<input type="submit" value="upload">
</form>
<input type="file" name="file"">
<input type="submit" value="upload">
</form>
php:
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
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
<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
$target_path = "pf/" . $_FILES["file"]["name"];
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
if(move_uploaded_file($newpf, $map))
{
echo "The file ". basename($_FILES['file']['name']) . " has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!<br>";
}
}
else
{
echo 'bestand bestaat al hernoem u bestand';
}
}
else
{
echo 'geen geldige foto';
}
?>
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
$target_path = "pf/" . $_FILES["file"]["name"];
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
if(move_uploaded_file($newpf, $map))
{
echo "The file ". basename($_FILES['file']['name']) . " has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!<br>";
}
}
else
{
echo 'bestand bestaat al hernoem u bestand';
}
}
else
{
echo 'geen geldige foto';
}
?>
alleen werkt het nogsteeds niet
Toevoeging op 08/01/2014 16:12:23:
ik heb op regel 16 upload/ weer naar pf/ verandert
want
* je krijgt een error
* je vergeet op de button te klikken
* de monitor staat uit
* nog iets anders
"werkt niet" is een heeel breed begrip.
Als je geen aanwijzingen geeft, duurt het nog even
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
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
<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if(1==1)
{
$target_path = "pf/" . $_FILES["file"]["name"];
if (file_exists("pf/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
if(move_uploaded_file($newpf, $map))
{
echo "The file ". basename($_FILES['file']['name']) . " has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!<br>";
}
}
}
else
{
echo 'geen geldige foto';
}
?>
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if(1==1)
{
$target_path = "pf/" . $_FILES["file"]["name"];
if (file_exists("pf/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
if(move_uploaded_file($newpf, $map))
{
echo "The file ". basename($_FILES['file']['name']) . " has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!<br>";
}
}
}
else
{
echo 'geen geldige foto';
}
?>
Wat zijn in regel 22 $newpf en $map? Die worden nergens aangemaakt zo te zien.
de eerste is eigenlijk altijd $_FILES['naam van het veld']['tmp_name']
de tweede is de map + filename van hoe het bestand gaat heten voortaan.
-
dat is eerste dat fout kan gaan
Verder zou je nog schrijf rechten problemen kunnen hebben, maar dat komt straks wel.
Wat voer jij aan de functie move_uploaded_file?
Heeft die map ook schrijfrechten?
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
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
<?php
if($_POST['file'] != '')
{
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
$map = "pf/" . $_FILES["file"]["name"];
if (file_exists("pf/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
if(move_uploaded_file($_FILES["file"]["tmp_name"], $map))
{
echo "The file ". basename($_FILES['file']['name']) . " has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!<br>";
}
}
}
else
{
echo 'geen geldige foto';
}
}
else
{
echo '<br>';
}
?>
if($_POST['file'] != '')
{
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
$map = "pf/" . $_FILES["file"]["name"];
if (file_exists("pf/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
if(move_uploaded_file($_FILES["file"]["tmp_name"], $map))
{
echo "The file ". basename($_FILES['file']['name']) . " has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!<br>";
}
}
}
else
{
echo 'geen geldige foto';
}
}
else
{
echo '<br>';
}
?>
Toevoeging op 08/01/2014 16:31:19:
ik krijg nu steeds dit te zien