[PHP] File upload, variables komen niet door

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Entity
  • Registratie: Oktober 2000
  • Laatst online: 17:46
Afgelopen maandag is de website van ons bedrijf door onze host verhuist naar een andere locatie. Sindsdien werken de file uploads niet meer. Ze konden me aan de telefoon niet direct goed helpen, dus probeer ik het hier.

Het (vereenvoudigde) uploadscript dat ik gebruik ziet er zo uit en werkt op 2 anders servers prima:
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
<?
    ini_set('error_reporting', E_ALL);
    if(!isset($_POST["submit"]))
    {
        // Print uploadform
        ?>
        
            <form action="" method="POST" enctype="multipart/form-data">
                <input name="uploadfile" type="file"><input name="submit" type="submit">
            </form>
        <?
    }
    else
    {
        // handle upload
        $filename = $_FILES['uploadfile']['name'];
        $filetype = $_FILES['uploadfile']['type'];
        $filesize = $_FILES['uploadfile']['size'];
        if(move_uploaded_file($_FILES['uploadfile']['tmp_name'], $filename) && $filesize > 0)
        {
            // File move (and thus upload) succesful
            print "Upload succesful, click <a href=\"$filename\">here</a> to download!";
        }
        else
        {
            // File move failed - upload failed.
            print "Upload failed. Sorry.<br />\n$filename / $filetype / $filesize";
        }
    }
?>

Als resultaat krijg ik:
Upload failed. Sorry.
/ /
De $_FILES variables komen dus niet door. De $_POST variables werken wel goed, aangezien het uploadform niet terugkomt. De rechten voor de dir waar het script in staat is goed (CHMOD 777).

Er lijkt mij iets niet in orde met de Apache en/of PHP instellingen, maar ik weet niet wat en kan er zelf ook niet aan knutselen. Heeft iemand een idee welke instelling(en) dit probleem kan veroorzaken?

[ Voor 12% gewijzigd door Entity op 10-03-2004 15:02 . Reden: Code tags vervangen door [php] ]


Acties:
  • 0 Henk 'm!

  • Helmet
  • Registratie: Januari 2002
  • Laatst online: 21-08 15:00
print_r op $_POST en $_FILES al eens gedaan?

Icons are overrated


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Misschien is het handig om wat betere errormeldingen te genereren. Het is nu niet te zien wat er fout gaat en je if-statement die de melding genereert heeft ook 2 statements.. welke failed weet je dus niet..

Even checken met is_uploaded_file () mag er ook wel in :)

[ Voor 13% gewijzigd door Bosmonster op 10-03-2004 15:11 ]


Acties:
  • 0 Henk 'm!

  • Entity
  • Registratie: Oktober 2000
  • Laatst online: 17:46
Uit print_r($_FILES) krijg ik: Array ( )
Uit print_r($_POST) krijg ik: Array ( [submit] => )

_POST klopt dus wel, maar van _FILES krijg ik geen resultaat. Het lijkt alsof de file óf niet goed gepost wordt, óf de tmp file niet goed is.

Acties:
  • 0 Henk 'm!

  • Helmet
  • Registratie: Januari 2002
  • Laatst online: 21-08 15:00
en je tmp dir in php.ini klopt ook ?

Icons are overrated


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Misschien even checken of de file_uploads directive in php.ini op 1 staat? Ik denk dat dat het probleem is, omdat je niks in je $_FILES krijgt. :)

Sundown Circus


Acties:
  • 0 Henk 'm!

  • Entity
  • Registratie: Oktober 2000
  • Laatst online: 17:46
"upload_tmp_dir" staat op "no value" in php.ini. Dit staat echter op de andere servers waarop getest is, ook zo, dus dat zou het probleem niet moeten zijn.

Uit de php.ini:
code:
1
2
; Whether to allow HTTP file uploads.
file_uploads = On

Dat zou dus ook geen probleem moeten zijn. Het gaat overigens om een shared hosting account, dus instellingen wijzigen e.d. mag ik niet zelf.

Edit: uit is_uploaded_file() krijg ik FALSE als resultaat terug.

[ Voor 12% gewijzigd door Entity op 10-03-2004 15:52 ]


Acties:
  • 0 Henk 'm!

  • Entity
  • Registratie: Oktober 2000
  • Laatst online: 17:46
Voor de volledigheid: het probleem is inmiddels opgelost. Ik wilde er vanochtend aan verder gaan, maar kwam tot de ontdekking dat het script nu wel prima werkt... Ze hebben blijkbaar bij onze webhost wat dingen aangepast, want de $_FILES variabelen komen nu goed door!

In ieder geval bedankt voor alle suggesties.
Pagina: 1