[PHP]move_uploaded_file geeft FALSE ipv TRUE

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • KappuhH
  • Registratie: Augustus 2004
  • Niet online
Ik ben bezig met een upload script. Daarvoor heb ik 2 bestanden, namelijk:

[upload.php]
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
include 'uploadfuncties.php'; //bestand waar de functies in staan
if(isset($_POST['submit'])){
    afbeeldinguploaden("map","foto");
}
?>
<form action="upload.php" method="post" enctype="multipart/form-data" name="toevoegen">
Foto 1: <input type="file" name="foto[]"><br />
Foto 2: <input type="file" name="foto[]"><br />
Foto 3: <input type="file" name="foto[]"><br />
<input name="submit" type="submit" value="Upload!">
</form>


[uploadfuncties.php]
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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
function afbeeldinguploaden($doelmap,$formveld){
    $aantal = count($_FILES[$formveld]['name'])-1;
    if(!file_exists($doelmap)){
        mkdir($doelmap);
        chmod($doelmap, 0777);
    }
    if(!file_exists($doelmap . '/thumbnails')){
        mkdir($doelmap . '/thumbnails');
        chmod($doelmap . '/thumbnails', 0777);
    }
    for($p=0;$p<=$aantal;$p++){
        if(!empty($_FILES[$formveld]['name'][$p])){
            $type = $_FILES[$formveld]['type'][$p];
            $size = $_FILES[$formveld]['size'][$p];
            $original_file = $p.'-'.date("dmY").'-'.date("His").strrchr($_FILES[$formveld]['name'][$p],'.');
            $file = $original_file;
            if($type == 'image/jpeg' OR $type == 'image/pjpeg'){
                if(move_uploaded_file($_FILES[$formveld]['name'][$p], $doelmap.'/'.$file)){
                    echo('Het bestand is succesvol geupload.<br />');
                    echo('[img]\"'.$doelmap.'/'.$file.'\"/>');
                }else{
                    echo('Het[/img]');
                }
            }else{
                echo('Bestand heeft een ongeldige extentie.<br />');
            }
        }
    }
}
?>


Hij geeft steeds "Het bestand kan niet geupload worden". Dat wil dus zeggen dat move_uploaded_file FALSE teruggeeft. Hij zou echter TRUE terug moeten geven. Hoe zou dat kunnen? De syntax is namelijk wel goed.

Acties:
  • 0 Henk 'm!

  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Staat de chmod goed? Je script past de goede chmod alleen toe als de map nog niet bestaat.

Acties:
  • 0 Henk 'm!

  • KappuhH
  • Registratie: Augustus 2004
  • Niet online
De map heeft 777 dus dat zou volgens mij goed moeten zijn.

Hij geeft ook geen enkele error of notice, terwijl error_reporting wel aanstaat, of is dat normaal?

[ Voor 48% gewijzigd door KappuhH op 08-07-2006 16:28 ]


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Als display_errors (php.ini) uitstaat wel ja
Probeer ini_set("display_errors" 1); eens

Maar het bestand wordt dus ook niet verplaatst?
Heb je buiten schrijfrechten in de doelmap, ook leesrechten op de bronmap?

[ Voor 5% gewijzigd door frickY op 08-07-2006 16:30 ]


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
KappuhH schreef op zaterdag 08 juli 2006 @ 16:26:
De map heeft 777 dus dat zou volgens mij goed moeten zijn.

Hij geeft ook geen enkele error of notice, terwijl error_reporting wel aanstaat, of is dat normaal?
Staat display_errors ook aan?
En wat gebeurt er als je een nieuw bestand aanmaakt via PHP in de doelmap?

Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
bij move_uploaded_files moet je de tmp_name opgeven als eerste argument.

Acties:
  • 0 Henk 'm!

  • KappuhH
  • Registratie: Augustus 2004
  • Niet online
Shadowman schreef op zaterdag 08 juli 2006 @ 16:35:
bij move_uploaded_files moet je de tmp_name opgeven als eerste argument.
Dat was het dus! Hartelijk dank! Weer wat geleerd :D

Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
KappuhH schreef op zaterdag 08 juli 2006 @ 16:38:
[...]

Dat was het dus! Hartelijk dank! Weer wat geleerd :D
Dat had je natuurlijk ook even zelf in de PHP handleiding op kunnen zoeken.

If I can't fix it, it ain't broken.

Pagina: 1