Upload systeem werkt niet
Ik heb een tutorial gevolgd maar nu werk het niet.
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
<?
[code]<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
if ($_FILES['mijn_bestand']['error'] > 0)
{
$errorMessage = 'Uploaden mislukt';
}
else{
if ($_FILES['mijn_bestand']['type'] == "image/jpeg")
{
$result = move_uploaded_file ($_FILES['mijn_bestand']['tmp_name'], "uploads/" . $_FILES['mijn_bestand']['tmp_name']);
if (!$result) {
$errorMessage = 'Kan bestand niet kopieren';
}
} else {
$errorMessage = 'Bestand is niet van het juiste type';
}
}
}
echo $errorMessage;
?>
<form enctype="multipart/form-data" method="POST">
Choose a file to upload: <input name="file" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
?>
[code]<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
if ($_FILES['mijn_bestand']['error'] > 0)
{
$errorMessage = 'Uploaden mislukt';
}
else{
if ($_FILES['mijn_bestand']['type'] == "image/jpeg")
{
$result = move_uploaded_file ($_FILES['mijn_bestand']['tmp_name'], "uploads/" . $_FILES['mijn_bestand']['tmp_name']);
if (!$result) {
$errorMessage = 'Kan bestand niet kopieren';
}
} else {
$errorMessage = 'Bestand is niet van het juiste type';
}
}
}
echo $errorMessage;
?>
<form enctype="multipart/form-data" method="POST">
Choose a file to upload: <input name="file" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
?>
Het probleem is dat ik altijd een "Bestand is niet van het juiste type" error krijg. Ik weet dat er nog niet getest op grote e.d. word maar ik wil eerst dit probleem oplossen, wie weet wat er verkeerd gaat?
Je noemt hem tijdens het versturen 'mijn_bestand' maar in de form noem je hem 'file'.
Ohh hoe dom, ben niet helemaal wakker met scripten volgens mij :$
Kan gebeuren, werkt het nu wel?
[qoute]
Warning: move_uploaded_file(/public_html/uploads/tmp/phpy84FgG) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/ehbonopn/public_html/intranet/upload.php on line 11
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpy84FgG' to '/public_html/uploads/tmp/phpy84FgG' in /home/ehbonopn/public_html/intranet/upload.php on line 11
Kan bestand niet kopieren
[/quote]
Gewijzigd op 29/02/2012 11:05:21 door Matthijs Vos
ja, maar vanaf welke map moet ik redeneren met het bepalen van de map waar hij weg moet schrijven?
Unable to move '/tmp/phpy84FgG' to '/public_html/uploads/tmp/phpy84FgG'
/wamp/www/map/submap/scripts/index.php
uploads/filename.exensie
zal dan gaan naar:
/wamp/www/map/submap/scripts/uploads/filename.extensie
Het lukt nu, alleen uploads map heeft nu bestandsrechten 777 en ik heb altijd geleerd dat dat onveilig is, weet je toevallig ook welke bestandsrechten ik moet instellen?
755 Is het beste voor upload volgens mij!
Gerhard l op 29/02/2012 11:29:27:
755 Is het beste voor upload volgens mij!
Is goed voor de map.
En 644 voor het bestand.
En hoe kan ik een bestand dat ik upload bestandsrechten meegeven dan? en trouwens hij moet er ook weer afgedownload kunnen worden
Matthijs Vos op 29/02/2012 13:33:04:
En hoe kan ik een bestand dat ik upload bestandsrechten meegeven dan? en trouwens hij moet er ook weer afgedownload kunnen worden
Als het goed is staan de rechten automatisch goed. Even checken dus.
Wat is 'afgedownload'?
Toevoeging op 29/02/2012 13:57:10:
Ik heb het volgende gemaakt voor het weergeven welke bestanden er in de map staan:
Code (php)
Alleen het enige wat ik krijg is de ... en als ik daar op klik gaat hij naar de boven liggende map. Iemand enig idee hoe dit kan?
Toevoeging op 29/02/2012 14:06:37:
Nog even een vraagje over de upload, hoe kan ik meerdere bestand types accepteren? En is er ergens een lijst met bestandtypes en hoe je die schrijft in php (bv. dat je jpeg als image/jpeg schrijft)
The mime type of the file, if the browser provided this information. An example would be "image/gif". This mime type is however not checked on the PHP side and therefore don't take its value for granted.
Ja, dat gebruik ik nu, maar kan ik ook meerdere checken?? en wat is de mime type voor doc/docx??
Geen idee welke er allemaal zijn. Maar aan die tekst te zien (van php.net) kan je er dus niet op vertrouwen.
if (mime_content_type($_FILES['mijn_bestand']['name']) == "image/jpeg")
dan krijg ik de volgende error:
Fatal error: Call to undefined function mime_content_type() in /home/ehbonopn/public_html/intranet/upload.php on line 9
iemand enig idee hoe dat kan??