Avatar billede negolund Nybegynder
19. februar 2013 - 13:33 Der er 2 kommentarer

Ændre ejerskab på filer efter unzip via PHP

Hej!

Jeg er stødt ind i et ret stort problem. Jeg har et CMS system hvor jeg kan oprette andre kunde. Efter oprettelsen af kunden benytter jeg mig af PHP's ZipArchive class til at unzippe en bestemt fil i kundens navn på min server. Koden virker sådan som den skal og min fil unzippes. Problemet er at når PHP unzipper filerne ændres ejerskabsnavnet til "apache" og jeg mister derved alt kontrol over filerne gennem mit FTP program.
Efter at have brugt lang tid på google er jeg med på at det er et spørgsmål om at bruge chown() og ændre ejerskabet - men har ikke fundet en metode hvortil det kan tilpasses.

Mit spørgsmål: Hvordan implementere jeg en funktion der ændrer ejerskabet på hver enkel fil/mapper/undermapper umiddelbart efter unzip? Min kode ser således ud:

            $zip = new ZipArchive;
            if ($zip->open('../form1.zip') === TRUE) {
                $zip->extractTo('../'.$u.'');
                $zip->close();
                echo 'ok';
                } else {
                    echo 'failed';
                }

Mvh.

Nikolaj
Avatar billede arne_v Ekspert
19. februar 2013 - 14:14 #1
rekursion ned gemme det nye fil trae og chown paa hver enkelt??
Avatar billede negolund Nybegynder
19. februar 2013 - 20:23 #2
Det var jeg også med på. Men tror faktisk slet ikke jeg kan ændre ejerskabet da det kræver en superuser hvilket php/apache ikke er går jeg ud fra?

Har netop prøvet denne simple metode for at se om jeg overhovedet kan ændre en bestemt fil - dog uden held.

    if (chown("","johndoe")) {
        echo "File owner changed.\n";
    } else {
        echo "File ownership change failed!\n";
    }

Har du et forslag til hvordan jeg kan unzippe eller kopiere en bestemt mappe+indhold UDEN at ejerskabet ændres? Har forsøgt mig med copy() ligeledes med samme resultat.

Mvh. Nikolaj
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