Gå til innhold

$_FILES['oppfil']['name'] er tom?!


Anbefalte innlegg

Eg har et snodig problem når eg prøver å laste opp filer på en server.

 

$_FILES['oppfil']['tmp_name'] blir satt.

 

Men $_FILES['oppfil']['name'] inneholder kun "/". Det sammer gjer $_FILES['oppfil']['error'], $_FILES['oppfil']['size'] og $_FILES['oppfil']['type']

 

Skjemaet og PHP-koden er i sving på fleire andre servere, så den skulle egentlig vere i orden.

 

PHP.INI ser slik ut:

;;;;;;;;;;;;;;;;

; 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 = 2M

 

Er det noken som kan hjelpe? :hmm:

Lenke til kommentar
Videoannonse
Annonse

Eg har funne feilen.

 

Pga. av at register_globals står av, så bruker eg import_request_variables("gP");

 

Men det ødelegger på en eller annan måte for $_FILES['oppfil']['name'].

 

Har laga en litt grisete løysing på problemet, så dersom noken har en elegant løysing så blir eg glad.

Lenke til kommentar

Um... Jeg har også register_globals av, og jeg ville absolutt ikke brukt import_request_variables() da. Grunnen til det er ganske enkelt den sikkerhetsrisikoen det utgjør. Registrer heller nøyaktig de variablene du trenger slik:

$var1 = @ $_POST['var1'];
$var2 = @ $_POST['var2'];
$var3 = @ $_POST['var3'];

Da slipper du problemet ditt, og scriptene blir sikrere. Det krever ikke mye ekstrajobb heller.

Lenke til kommentar
Um... Jeg har også register_globals av, og jeg ville absolutt ikke brukt import_request_variables() da. Grunnen til det er ganske enkelt den sikkerhetsrisikoen det utgjør. Registrer heller nøyaktig de variablene du trenger slik:

$var1 = @ $_POST['var1'];
$var2 = @ $_POST['var2'];
$var3 = @ $_POST['var3'];

Da slipper du problemet ditt, og scriptene blir sikrere. Det krever ikke mye ekstrajobb heller.

Litt OT her:

Er det virkelig nødvendig å lage kopier av variablene? I tillegg ville jeg brukt error_reporting(E_ALL ^ E_NOTICE); istedet

 

error_reporting(E_ALL ^ E_NOTICE);
$var1 =  &$_POST['var1'];
$var2 =  &$_POST['var2'];
$var3 =  &$_POST['var3'];

Hvorfor det er så mange som ikke veit av referanser, det fatter jeg ikke.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...