Avatar billede mega-hawk Nybegynder
02. oktober 2004 - 15:27 Der er 8 kommentarer og
1 løsning

Kørt fast i upload

Hejsa.

Jeg er stadig ret ny til php så jeg tager en ting af gangen og prøver at lære dem så godt jeg kan og når jeg så kan det vil jeg engang lave en hel side.
Nu er jeg så kommet til upload af filer og har læst de første 6 artikler om det OGSÅ den her på experten, dog virker det hele ik for mig alligevel.
Jeg er kommet frem til en kode som ser sådan her ud:

<form enctype="multipart/form-data" action='' method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Upload denne fil:
<input type="file" name="userfile">
<input type="submit" value="Upload fil" name="up">
</form>
<?php
$arkiv='/';
$fra=$_FILES['userfile']['tmp_name'];
$til=$arkiv . $_FILES['userfile']['name'];
if(function_exists("move_uploadet_file")){
        move_uploaded_file($fra, $til);
        }
?>

Jeg ved ikke om den ikke oploader mine filer eller om den bare gemmer dem et andet sted. Meningen er ihvertfald at den skal gemme det i samme bibliotek som jeg har min upload.php liggende, men der kommer ik noget.
Jeg vil foretrække at i så vidt det kan lade sig gøre lader min kode stå som den er da jeg forstår den. C'følgelig skal der laves lidt om, men hvis i skriver noget der til eller der fra så skriv lige hvad det gør og hvorfor.
Avatar billede expnet Seniormester
02. oktober 2004 - 15:32 #1
prøv at:

ret:
$arkiv='/';

til:
$arkiv='.';
Avatar billede mega-hawk Nybegynder
02. oktober 2004 - 15:37 #2
detsvære så nej virker heller ikke.
Hvad skulle det egentlig os bevirke?
Avatar billede mega-hawk Nybegynder
02. oktober 2004 - 16:24 #3
Lidt hjælp til jer:
Jeg har været inde i php manualen og læse og fandt lidt kode:
http://dk.php.net/manual/en/features.file-upload.php
Nu når jeg finder en fil og trykker på upload får jeg følgende fejl:

Warning:  Unable to access  in /customers/mega-hawk.dk/httpd.www/test/upload.php on line 16
Possible file upload attack!  Here's some debugging info:
Array
(
    [userfile] => Array
        (
            [name] => kode.txt
            [type] => text/plain
            [tmp_name] => /tmp/phpxFdJk4
            [error] => 0
            [size] => 523
        )

)

Min lijne 16 er:
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 

og min mappe test har jeg lavet om til 777 i cmod.
Håber det kan hjælpe jer til at hjælpe mig?
Avatar billede detox Nybegynder
02. oktober 2004 - 17:43 #4
Her har du hvert fald stavet forkert:

if(function_exists("move_uploadet_file")){

skal være med 'd' istedet for 't':

if(function_exists("move_uploaded_file")){
Avatar billede detox Nybegynder
02. oktober 2004 - 17:49 #5
Hvis du vil have filen til at ligge i samme mappe som scriptet behøver du kun:

<?php
$fra=$_FILES['userfile']['tmp_name'];
$til=$_FILES['userfile']['name'];
if(function_exists("move_uploaded_file")){
        if(move_uploaded_file($fra, $til)) {
            echo "$til er uploadet";
        }
    }
?>
Avatar billede mega-hawk Nybegynder
02. oktober 2004 - 17:50 #6
fair nok en stavefejl.
Den er nu rettet.
Dog har jeg et spørgsmål mere.
Alså hvis jeg skriver phpinfo() og går ned til upload_tmp_dir der står der no value kan det være fejlen? Alså at min fil IKKE kommer op på et temp bib først?
Avatar billede detox Nybegynder
02. oktober 2004 - 17:52 #7
Nej, hvis der ikke er angivet et upload_tmp_dir, bruger den normalt systemets standard temp mappe.
Avatar billede mega-hawk Nybegynder
02. oktober 2004 - 17:53 #8
SÅDAN
Tak.
Det virker nu.
Kommer du med det som et svar så får du dine velfortjente point :o)

Men kan du ik os lige fortælle hvordan jeg laver det hvis jeg nu skulle uploade det til et andet bib?
Avatar billede detox Nybegynder
02. oktober 2004 - 18:02 #9
Du laver mappen med chmod 777, som du selv er inde på. Så har du 2 muligheder for at angive stien, den absolutte sti og den relative. Der vil jeg anbefale den relative, da den er nemmest at arbejde med og mest kompatibel, hvis du uploader scriptet til en anden server.
Den absulutte går ud fra dokumentroden og starter med: /
Den relative går ud fra den mappe scriptet ligger i, fx:
i samme mappe: 'uploads' eller: './uploads'
en mappe nede: 'filer/uploads'
en mappe oppe: '../uploads'
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

IT-JOB