[PHP] Permissies/owner, kan uploads niet verwijderen?

Pagina: 1
Acties:

Onderwerpen


  • Justinski
  • Registratie: September 2007
  • Laatst online: 29-03-2023
Beste tweakers,

Nu ik al een aantal dagen vast zit met dit probleem, ben ik ten einde raad en zoek ik hier mijn hulp :)

Ik heb een upload-script gemaakt waarbij de gebruiker meerdere plaatjes te gelijk kan uploaden. Nu wordt er tijdens het aanroepen van de PHP-code een directory gecreëerd en de geüploade bestanden worden daar heen verplaatst. Dit werkt allemaal, de map die wordt aangemaakt heeft de permissies 755, de bestanden daar in krijgen automatisch 644.

Nu is mijn probleem, dat ik de bestanden niet meer kan verwijderen. Niet via FTP (logisch), maar zelfs niet via PHP (unlink) terwijl "Apache" nog wel de owner is.

Hier mijn betreffende snippets code:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Het creëren van een map en de images er naar verplaatsen
            
$dirPath = "../images/".$postarray['naam']."/";
            
if(!is_dir($dirPath)) {
    if(mkdir($dirPath, 0775)) {
        for($a = 0; $a < $postarray['aantaluploads']; $a++) {
                                
            $voorPath = $dirPath.$_FILES['voorkant'.$a]['name'];
            $achterPath = $dirPath.$_FILES['achterkant'.$a]['name'];

            move_uploaded_file($_FILES['voorkant'.$a]['tmp_name'], $voorPath);
            move_uploaded_file($_FILES['achterkant'.$a]['tmp_name'], $achterPath);      
        }
    }                                   
}

Dit werkt dus, map wordt gecreëerd op webserver met permissies 775 en de images krijgen automatisch 644 mee.

Probeer ik daarna een geupload plaatje te unlinken via het volgende, werkt dit niet...
code:
1
2
3
4
5
6
// waarbij "test" de creëerde map is, output "fail"
if(unlink("../images/test/thumb.jpg")) {
    print "succes";
} else {
    print "fail";
}


Wat doe ik verkeerd en hoe kan ik deze bestanden verwijderen? Please help!

Gegroet, een beginnende webontwikkelaar :D

Verwijderd

Als het kan helpen, je kan ook chmod doen via php: http://be.php.net/chmod :)

PHP:
1
2
3
<?php
chmod("../images/test/thumb.jpg", 0755);
?>

[ Voor 33% gewijzigd door Verwijderd op 13-09-2008 16:45 . Reden: voorbeeld code added ]


  • Justinski
  • Registratie: September 2007
  • Laatst online: 29-03-2023
Hmm, dit werkt jammer genoeg niet... als ik dan via mijn FTP programma naar het bestand kijk,
zegt hij nog steeds 644, zelfs na het uitvoeren van het cmodden. In 't FTPprogje zelf kan ik 't ook niet aanpassen.

644 geef Apache toch genoeg rechten, dat het zou mogen aanpassen / unlinken / chmodden etc.?

Verwijderd

Onder welke gebruiker draait Apache / PHP? Of heb je daar geen zicht op? Mogelijk zit daar het probleem dan.