Chmod??? probeleem in script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gerjan de Vries

Gerjan de Vries

30/03/2006 15:25:00
Quote Anchor link
Hallo, ik ben nog vrij nieuw met php, maar ben al wel op de goede weg, nou heb ik dus een upload script voor plaatjes. Maar heb nu het probleem dat het als ik een plaatje upload dan chmod hij ze naar: 600

mijn vraag is nu of het mogelijk is dat ik in dit script (onderstaande) een automatische chmod toepas?

bij voorbaat dank!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?  
global $_FILES;  

$filename = $_FILES['userfile']['name'];  

$allow[0] = "jpg";
$allow[1] = "gif";
$allow[2] = "bmp";
$allow[3] = "gif";
$allow[4] = "GIF";  
$allow[5] = "JPG";  
$allow[6] = "BMP";  
$allow[7] = "PNG";  
$allow[8] = "pmg";    

if ($_POST["newname"])  
    $uploadname = $_POST['newname'];  
else  
    $uploadname = $_FILES['userfile']['name'];
    
$extentie = substr($uploadname, -3);

for ($i = 0; $i < count($allow); $i++)
{

    if ($extentie == $allow[$i])
    {

        $extentie_check = "ok";
        $i = count($allow) + 5; // om loop te beindigen
    }
}


if ($extentie_check)
{

    if($_FILES['userfile']['size'] > 512000) {
        echo "Het bestand is te groot!";
    }
else {
        if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {                
move_uploaded_file($_FILES['userfile']['tmp_name'], "pictures/" . $uploadname);  
  
            echo "Het bestand is geupload onder de naam: $uploadname";  
}

    }
}

else
{
    echo "Dit bestand wordt niet toegelaten!!!!";
}
  
?>
 
PHP hulp

PHP hulp

05/11/2024 15:02:22
 
Niek Berckmans

Niek Berckmans

30/03/2006 15:35:00
Quote Anchor link
chmod(bestandsnaam, 777);
Gewijzigd op 30/03/2006 15:35:00 door Niek Berckmans
 
- SanThe -

- SanThe -

30/03/2006 15:35:00
Quote Anchor link
Wat is er mis met een plaatje dat op de server staat met rechten 600?
 
Derk nvt

Derk nvt

30/03/2006 15:35:00
Quote Anchor link
chmod ("/somedir/somefile", 0600);
dit chmod een file naar 600

http://nl3.php.net/manual/nl/function.chmod.php

ow de rest was een stuk sneller als ik :'(
Gewijzigd op 30/03/2006 15:36:00 door Derk nvt
 
Gerjan de Vries

Gerjan de Vries

30/03/2006 15:41:00
Quote Anchor link
Sorry ik was een beetje onduidelijk, nu ik het zo nalees

Nadere uitleg:

het script upload een plaatje ($uploadfile) naar de map gallery en geeft deze een chmod van 666

maar nu laat ik met een ander script deze plaatjes weer zien alleen laat deze het net geuploade bestand niet zien, oftewel ik moet deze eers chmodden naar 755 voordat mijn bezoekers het kunnen zien

en dan was de vraag of er iets in dit scrit kan worden ingebouwd om dit automatisch te laten gaan

bij voorbaat dank
 
Derk nvt

Derk nvt

30/03/2006 15:44:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?  
global $_FILES;  

$filename = $_FILES['userfile']['name'];  

$allow[0] = "jpg";
$allow[1] = "gif";
$allow[2] = "bmp";
$allow[3] = "gif";
$allow[4] = "GIF";  
$allow[5] = "JPG";  
$allow[6] = "BMP";  
$allow[7] = "PNG";  
$allow[8] = "pmg";    

if ($_POST["newname"])  
    $uploadname = $_POST['newname'];  
else  
    $uploadname = $_FILES['userfile']['name'];
    
$extentie = substr($uploadname, -3);

for ($i = 0; $i < count($allow); $i++)
{

    if ($extentie == $allow[$i])
    {

        $extentie_check = "ok";
        $i = count($allow) + 5; // om loop te beindigen
    }
}


if ($extentie_check)
{

    if($_FILES['userfile']['size'] > 512000) {
        echo "Het bestand is te groot!";
    }
else {
        if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {                
move_uploaded_file($_FILES['userfile']['tmp_name'], "pictures/" . $uploadname);  
  
            echo "Het bestand is geupload onder de naam: $uploadname";  
chmod ("pictures/".$uploadname, 0755);
}

    }
}

else
{
    echo "Dit bestand wordt niet toegelaten!!!!";
}
  
?>


ik denk dat dit wel zal moeten gaan werken
 
- SanThe -

- SanThe -

30/03/2006 15:47:00
Quote Anchor link
Dat is niet waar. Het verschil is dat 755 is alléén lezen en met exec rechten (en schrijven voor de owner) en 666 is lezen én schrijven.
Dus het kan altijd worden getoond.

Edit: Klein foutje.
Gewijzigd op 30/03/2006 16:10:00 door - SanThe -
 
Gerjan de Vries

Gerjan de Vries

30/03/2006 15:51:00
Quote Anchor link
hmmmm dan snap ik er niks van want hij laat niks zien, maar hij chmod ze niet 666 maar naar 600
 
Gerjan de Vries

Gerjan de Vries

30/03/2006 15:52:00
Quote Anchor link
maar derk je word hartelijk bedank, je, chmod ("pictures/".$uploadname, 0755); werkt

had zelf ook al wel wat met dit geprobeert maar zie nu wat ik fout gedaan had ik had directory en de haakjes niet
 
- SanThe -

- SanThe -

30/03/2006 16:11:00
Quote Anchor link
Gerjan:
hmmmm dan snap ik er niks van want hij laat niks zien, maar hij chmod ze niet 666 maar naar 600


600 is alleen read/write rechten voor de owner.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.