[php] $_FILES['userfile']['tmp_name'] staat op none

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb, nadat ik een file upload heb gedaan, graag dat het betreffende bestand ook op de goede plek komt.

PHP:
1
2
3
error_reporting(E_ALL);

move_uploaded_file($_FILES['userfile']['tmp_name'], "c:\apache\htdocs\journalist\archief\".$_FILES['userfile']['name']);


lijkt me duidelijk toch?

Nu werkt dit dus niet, en dat komt omdat wanneer ik $_FILES['userfile']['tmp_name'] ga checken (met een echo) er 'none' in beeld komt. Terwijl de andere $_FILES['userfiles'] variabelen wel zijn ingevuld (de ['name'] is gewoon correct, filesize stimmt auch enzovoorts. Ik krijg ook geen errors via de error_reporting code en $_FILES[ 'userfile']['error'] is leeg (er staat niets in).

Ik vind het een beetje vreemd, vooral omdat ik het scriptje uit de manual gebruik. Overigens heb ik natuurlijk al even gebladerd, en in mijn php.ini staan de betreffende configuratie instellingen zoals het hoort.
Ik heb al een tijdje op dit forum rondgesnuffeld, maar kwam er niet helemaal uit. Iemand enig idee?

Acties:
  • 0 Henk 'm!

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
PHP:
1
print_r($_FILES);

Acties:
  • 0 Henk 'm!

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

Bosmonster

*zucht*

Blijkbaar komt het bestand niet goed in je temp-files terecht.. Staan die settings allemaal correct?

Acties:
  • 0 Henk 'm!

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
gaat dit wel goed?

archief\".

je escaped een "

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bosmonster schreef op 09 mei 2004 @ 12:46:
Blijkbaar komt het bestand niet goed in je temp-files terecht.. Staan die settings allemaal correct?
Ik denk dus van wel.

print_r($_FILES) is inderdaad wel een goed plan. Dit geeft:

Array ( [userfile] => Array ( [name] => Tussentijds stageverslag hersteld.doc [type] => application/msword [tmp_name] => none [size] => 0 ) ) none

Nu is de size dus, waar ik eerst van zei dat die wel is ingevuld, ook 0. Ik begrijp dit niet. (Volgens mij wordt het bestand niet geupt...)

Volgens mij staan alle waardes in php.ini en httpd.conf correct ingesteld. Iemand een idee?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
4Real schreef op 09 mei 2004 @ 12:51:
gaat dit wel goed?

archief\".

je escaped een "
ja dat is hier een typo denk ik. Ik krijg geen errors in mijn script (es functioniert!) alleen gebeurt er niets.

Acties:
  • 0 Henk 'm!

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 21-09 09:51
Verwijderd schreef op 09 mei 2004 @ 13:04:
[...]


ja dat is hier een typo denk ik. Ik krijg geen errors in mijn script (es functioniert!) alleen gebeurt er niets.
Je krijgt geen foutmelding omdat het geldige PHP code is. Het probleem zit 'm echter in het feit dat de backslash een speciale betekenis heeft die je hier (per ongeluk) gebruikt. Wil je een 'pure' backslash hebben, gebruik dan '\\' i.p.v. '\'.

edit:
Bij nader inzien zou de enkele backslash het hier toch juist moeten doen... Negeer in dat geval wat hierboven staat.

[ Voor 17% gewijzigd door Limhes op 09-05-2004 14:41 ]


Acties:
  • 0 Henk 'm!

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

Bosmonster

*zucht*

en je form is enctype="multipart/form-data" ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Waar het hier misgaat, is dat de tijdelijke naam etc allemaal ongedefinieerd blijft. Ik heb wel meer topics gevonden waarin dit probleem werd behandeld, alleen kwam er zo 1-2-3 geen oplossing uit, of werd het uiteindelijk afgedaan met
"het werkt nu wel, laat maar".

Ik vroeg me af wat die oplossing is, want ik kom er niet helemaal uit. :)

Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

Het uploaded is wel goed gegaan, anders stond er wel een key 'error' in de array.

Zou idd wel eens het enctype kunnen zijn.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Enc type staat op file. NB als het niet zo was, zou het uploaden falen, en er een error zijn (zoals je zegt :+).

Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

Dus het is opgelost?

Acties:
  • 0 Henk 'm!

Verwijderd

Bosmonster schreef op 09 mei 2004 @ 15:24:
en je form is enctype="multipart/form-data" ?
volgens mij zou - als dat het geval is - type ook niet gezet worden, maar userfile als een normaal post veldje worden gezien.
het lijkt er haast op alsof php gewoon zn temp files niet kwijt kan.. ik zou dus maar eens in de ini kijken of dat wel helemaal klopt (en als je vanuit apache draait kan er ook nog wel eens wat in error.log staan).

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja, ik draai vanuit apache. Nee, er staat niets in /logs/error.txt. Mijn php.ini ziet er als volgt uit.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
post_max_size = 40M

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 32M


Dit lijkt me dus allemaal in orde. Ik kom er niet uit.

Ik ga het nu proberen met ee gespecificeerde tmp dir

edit2: Dat maakte dus geen zak uit. 8)7

[ Voor 10% gewijzigd door Verwijderd op 10-05-2004 14:33 ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
De maximale post-size wordt ook niet overschreven? Of zou je daar ook een melding van moeten krijgen in het error log?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nope, 12 kb ofzo. En dan zou ik een error te zien krijgen idd.
Pagina: 1