Avatar billede jansen82 Nybegynder
01. august 2004 - 02:30 Der er 7 kommentarer og
1 løsning

Upload billede virker ikke!

Jeg har et problem,

Skal lave et script hvor jeg vil uploade en fil til en bestemt mappe!!

Men register_globals er slået til på min server, så jeg ved ikke lige hvordan det skal gøres, og om det kan gøres!?

Mit script ser sådan her ud, og virker fint hvis ikke register_globals var slået til!

Scriptet:

<form action="opret_ok.php" method="post" enctype="multipart/form-data">
<input type="file" name="billede"><br>
<input type="submit" name="gem" value="GEM"></form>

(opret_ok.php):
<?

$target = "/billeder/$id.jpg";

  if (move_uploaded_file($billede,$target)) {

print "Billede er uploadet!";

} else {
print "Billede blev ikke uploadet!";

}
?>

Nogen som kan hjælpe?!!?
Avatar billede fojensen Nybegynder
01. august 2004 - 04:41 #1
øverst i 'opret_ok.php' tilføjes en linie:
$billede = $HTTP_POST_FILES['billede'];
så skulle du gerne opnå det samme.

ang. register_globals on:
variabler sendt med metoden GET hedder $HTTP_GET_VARS['variabelnavn'],
variabler sendt med metoden POST hedder $HTTP_POST_VARS['variabelnavn'],
filer sendt med metoden POST hedder $HTTP_POST_FILES['filnavn'],
variabler gemt i en session hedder $HTTP_SESSION_VARS['variabelnavn'],
variabler gemt i en cookie hedder $HTTP_COOKIE_VARS['variabelnavn']
osv...

mvh. Folmer
Avatar billede fojensen Nybegynder
01. august 2004 - 05:11 #2
Prøv evt. også som test at skrive det array af oplysninger der normalt folger med ved upload af filer. Jeg vil tro at du kan udskrive det således:
----kode----
$billede = $HTTP_POST_FILES['billede'];
if (is_array($billede)){
print_r ($billede);
} else {
echo "ikke noget array";
}
----/kode----

Hvis du ikke allerede har noget tilsvarende, så lav evt. en phpinfo-fil:
----kode----
<?php
echo phpinfo();
?>
----/kode----
den vil fortælle dig en hel masse om hvilke variabler og andre ting du har til rådighed, og måske kunne du også have regnet ud at postede filer hedder $HTTP_POST_FILES.

mvh. Folmer
Avatar billede jansen82 Nybegynder
01. august 2004 - 05:23 #3
Hmm det virker ikke lige!!
Avatar billede Slettet bruger
01. august 2004 - 10:21 #4
fojensen> Du henviser til de gamle variabelnavne, de hedder retteligt:

$_FILES
$_GET
$_POST
$_SESSION
$_COOKIE
Avatar billede jansen82 Nybegynder
01. august 2004 - 11:38 #5
Hmm den vil sku heller ikke!!
Ved sku ikke helt hvad det er!!

Den får infomationerne, men den vil ikke uploade billede!
Er der en anden måde man kan uploade det på!?
Avatar billede jansen82 Nybegynder
01. august 2004 - 12:09 #6
Nå det er ligemeget nu!! Fandt selv ud af det!!

Kom til at se sådan her ud:

<FORM action="opret_ok.php"
enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
Upload: <input type="file" name="fileupload">
<br><br>
<input type="submit" value="Upload">
</FORM>

<?php
$file_dir = "billeder";

foreach($_FILES as $file_name => $file_array) {
print "URL: <a target='_blank' href='".$file_array['name']."'>Fil".$file_array['name']."</a><br> ";

if (is_uploaded_file($file_array['tmp_name'])) {
move_uploaded_file($file_array['tmp_name'],
"$file_dir/$file_array[name]") or
die ("Kunne ikke uploade!");
print "Filen blev uploadet :)<br><br>";
}
}
?>

Og så virker den!!
Avatar billede fojensen Nybegynder
01. august 2004 - 23:43 #7
Fint, og du fandt jo en god løsning der virker, og du henter jo ganske rigtigt variablen ind som $_FILES, ($HTTP_POST_FILES ville også være OK).

mvh. Folmer
Avatar billede jansen82 Nybegynder
03. august 2004 - 06:26 #8
lukker lige spm'et!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester