probleem met file uploaden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Vincent hagen

Vincent hagen

20/07/2008 10:56:00
Quote Anchor link
Ik heb een script van deze site gehaalt (dat doe ik wel eens vaker).
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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!";
}


?>



(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
 
PHP hulp

PHP hulp

27/12/2024 04:38:26
 
- SanThe -

- SanThe -

20/07/2008 11:17:00
Quote Anchor link
Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
 
Vincent hagen

Vincent hagen

20/07/2008 12:34:00
Quote Anchor link
Dit zijn de 3 fout meldingen na het uploaden, als ik hem normaal open heb ik er een stukje meer :p. Maar de meeste begrijp ik niets van, allemaal "Undefined variable", "Undefined offset", "Undefined index".
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
"
 
Joren de Wit

Joren de Wit

20/07/2008 12:44:00
Quote Anchor link
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...
 
- SanThe -

- SanThe -

20/07/2008 12:45:00
Quote Anchor link
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.
 
Vincent hagen

Vincent hagen

20/07/2008 22:49:00
Quote Anchor link
oke bedankt voor de snelle reacties, maar ik heb de meeste "problemen" verholpen, alleen deze hebben der echt niet mee te maken. Op de een of de andere manier heeft hij die "$_FILES['userfile']['tmp_name']" niet. En dit is dus heel raar.. vind ik.
Iemand enig idee? :p
 
Jan Koehoorn

Jan Koehoorn

20/07/2008 23:16:00
Quote Anchor link
1) Staat er enctype="multipart/form-data" in je form tag?
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)
PHP script in nieuw venster Selecteer het PHP script
1
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';
                }
            }
        }
    }

?>
 
Vincent hagen

Vincent hagen

21/07/2008 07:18:00
Quote Anchor link
Ik had je script even veranderd met allemaal "else" op het eind zodat ik weet waar hij bleef haken. Dit is alweer bij het "is_uploaded_file", dus hij heeft die file niet...
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?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.