Avatar billede nyst Nybegynder
22. januar 2007 - 09:58 Der er 16 kommentarer og
1 løsning

upload fil

Hi there,

bruger denne kode , men den virker ikke helt.

Den skal nu gælde alle filtyper og størrelser, så $filetyper = array skal væk og den er nu underlig for hvis jeg loader en .txt-fil så siger den forbudt !!!

Nå bare den kan virke for alle - nogen der kan se hvad der skal til???

-----------------------------------

<?php
if(isset($_POST["upload"])) {
    if(!is_uploaded_file($_FILES["userfil"]["tmp_name"])) {
    echo"Filen kunne ikke uploades";
    }else{
       
$filetyper = array("image/gif", "text/txt", "text/doc", "image/jpeg", "image/pjpeg", "image/png","application/msword");
$filen = pathinfo($_FILES["userfil"]["name"]);
$sti = $_SERVER["DOCUMENT_ROOT"] ."/depot/arkiv/";

    if(!in_array(@strtolower($filen["extension"]), $filtyper)) {
    echo"Filtypen ". $_FILES["userfil"]["type"] ." kan ikke uploades.<br><br>";
    }else{
        move_uploaded_file($_FILES["userfil"]["tmp_name"], $sti . $_FILES["userfil"]["name"]);
        chmod( $sti . $_FILES["userfil"]["name"], 0644 );       
    echo"Filen, ". $_FILES["userfil"]["name"] ." er nu uploadet.<br><br>";
        }
    }
}
?>

----------------------------------------
Avatar billede showsource Seniormester
22. januar 2007 - 10:04 #1
<?php
if(isset($_POST["upload"])) {

    if(!is_uploaded_file($_FILES["userfil"]["tmp_name"])) {
    echo"Filen kunne ikke uploades";
    exit;

    }else{
     

    $sti = $_SERVER["DOCUMENT_ROOT"] ."/depot/arkiv/";

    move_uploaded_file($_FILES["userfil"]["tmp_name"], $sti . $_FILES["userfil"]["name"]);
    chmod( $sti . $_FILES["userfil"]["name"], 0644 );     
    echo"Filen, ". $_FILES["userfil"]["name"] ." er nu uploadet.<br><br>";


    }
}
?>
Avatar billede nyst Nybegynder
22. januar 2007 - 10:11 #2
hej, dejligt med hurtigt svar, desværre:

Warning: move_uploaded_file(/webdisk/webdata/kunder/xxx/htdocs/depot/arkiv/nyheder.txt): failed to open stream: Permission denied in /webdisk/webdata/kunder/xxx/htdocs/depot/arkiv/upload.php on line 46

Warning: move_uploaded_file(): Unable to move '/tmp/phpy1LOAf' to '/webdisk/webdata/kunder/xxx/htdocs/depot/arkiv/nyheder.txt' in /webdisk/webdata/kunder/xxx/htdocs/depot/arkiv/upload.php on line 46

Warning: chmod(): No such file or directory in /webdisk/webdata/kunder/xxx/htdocs/depot/arkiv/upload.php on line 47
Filen, nyheder.txt er nu uploadet.

linie 46:

    move_uploaded_file($_FILES["userfil"]["tmp_name"], $sti . $_FILES["userfil"]["name"]);
       
linie 47:

    chmod( $sti . $_FILES["userfil"]["name"], 0644 );
Avatar billede nyst Nybegynder
22. januar 2007 - 10:12 #3
dir depot og arkiv er chmod 755
Avatar billede showsource Seniormester
22. januar 2007 - 10:16 #4
"Permission denied in"

fra første fejl, fortæller jo at der ikke er chmod korrekt
Prøv med 0777
Avatar billede nyst Nybegynder
22. januar 2007 - 10:25 #5
giver samme fejl
Avatar billede showsource Seniormester
22. januar 2007 - 10:26 #6
Har du chmod'et med et FTP program? Hvis ikke, så prøv det.
Altså IKKE bruge PHP til det
Avatar billede showsource Seniormester
22. januar 2007 - 10:28 #7
"bare for sjov" kunne du evt. prøve med dette upload:
http://www.showsource.dk/php/vis_script.php?id=1118177424
Avatar billede nyst Nybegynder
22. januar 2007 - 10:30 #8
ja bruger TotalCommander
Avatar billede nyst Nybegynder
22. januar 2007 - 10:33 #9
behøves ikke idet jeg har et som virker og ser sådanne ud:

<?php
if(isset($_POST["upload"])) {
    if(!is_uploaded_file($_FILES["billede"]["tmp_name"])) {
    echo"Ingen upload";
    }else{

$filtyper = array("gif", "jpeg", "jpg");
$filen = pathinfo($_FILES["billede"]["name"]);
$sti = $_SERVER["DOCUMENT_ROOT"] ."/image/";

    if(!in_array(@strtolower($filen["extension"]), $filtyper)) {
    echo"Filtypen ". $_FILES["billede"]["type"] ." kan ikke uploades, idet formatet ikke er .gif, . jpeg eller .jpg.<br><br>";
    }else{
    move_uploaded_file($_FILES["billede"]["tmp_name"], $sti . $_FILES["billede"]["name"]);
        chmod( $sti . $_FILES["billede"]["name"], 0644 );       
    echo"Filen, ". $_FILES["billede"]["name"] ." er nu uploadet.<br><br>";
        }
    }
}
?>


nu skal det bare omskrives til at oploade alt ...!!!
Avatar billede showsource Seniormester
22. januar 2007 - 10:40 #10
Jamen her uploader du til "image"

Og det er et chmod problem du har for dir'et "arkiv"
Avatar billede nyst Nybegynder
22. januar 2007 - 10:43 #11
har fjernet:

chmod( $sti . $_FILES["billede"]["name"], 0644 ); 

hvilket giver:

Warning: move_uploaded_file(/webdisk/webdata/kunder/xxx/htdocs/depot/arkiv/robots.txt): failed to open stream: Permission denied in /webdisk/webdata/kunder/xxx/htdocs/depot/arkiv/upload.php on line 46

Warning: move_uploaded_file(): Unable to move '/tmp/phpzx3Uad' to '/webdisk/webdata/kunder/xxx/htdocs/depot/arkiv/robots.txt' in /webdisk/webdata/kunder/xxx/htdocs/depot/arkiv/upload.php on line 46
Filen, robots.txt er nu uploadet

og linie 46 er:

    move_uploaded_file($_FILES["userfil"]["tmp_name"], $sti . $_FILES["userfil"]["name"]);

???
Avatar billede nyst Nybegynder
22. januar 2007 - 10:44 #12
ja ved at den anden kode bruger jeg kun til fotoupload og det virker som det skal, men skal bruge et der kan oploade alt ...
Avatar billede nyst Nybegynder
22. januar 2007 - 10:46 #13
nu kom den hvis jeg ændre arkiv til 777

kors det var bare der det lå

nogle gange kan man ikke se skoven for bar træer *GG*
Avatar billede showsource Seniormester
22. januar 2007 - 10:49 #14
Nemmerlig :O)
Avatar billede nyst Nybegynder
22. januar 2007 - 10:51 #15
smider du et svar*S*
Avatar billede showsource Seniormester
22. januar 2007 - 10:54 #16
ok
Avatar billede nyst Nybegynder
22. januar 2007 - 10:58 #17
thanx fortsat god dag
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