/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Oprette en fil med PHP på en Linux (Ubu
Fra : Michael


Dato : 12-01-11 16:59

Hvordan får jeg PHP til at oprette en fil på min Linux maskine? Der er
jo noget rettigheds noget at tage hensyn til.

Jeg har den her kode, som jeg har tyv-stjålet, og det virker fint, hvis
jeg opretter en fil selv og giver "andre skrive og læse rettigheder" til
den, men hvordan får jeg PHP til at ændre rettighederne?


<?php
$dir = "../pic/test";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false)
   if($file != ".."){
    $fName = $dir."/filnavn.txt";
    $fHandle = fopen($fName, 'w+') or die("Can't open: ".$fName);
    fwrite($fHandle, "noget");
    fclose($fHandle);

   echo $fName."<br>"."\n";
}
closedir($dh);
}
}
?>


/michael

 
 
Bertel Lund Hansen (12-01-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 12-01-11 19:31

Michael skrev:

> Hvordan får jeg PHP til at oprette en fil på min Linux maskine? Der er
> jo noget rettigheds noget at tage hensyn til.

> Jeg har den her kode, som jeg har tyv-stjålet, og det virker fint, hvis
> jeg opretter en fil selv og giver "andre skrive og læse rettigheder" til
> den, men hvordan får jeg PHP til at ændre rettighederne?

Mener du at du har en webserver samt en lokal maskine, og
webserverens PHP skal kunne stille rettigheder på den lokale
maskine?

Eller er din lokale maskine også din webserver hvor rettighederne
ikke stemmer med hvordan den skal virke?

--
Bertel
http://bertel.lundhansen.dk/         FIDUSO: http://fiduso.dk/

scootergrisen (12-01-2011)
Kommentar
Fra : scootergrisen


Dato : 12-01-11 20:14

> Hvordan får jeg PHP til at oprette en fil på min Linux maskine? Der er
> jo noget rettigheds noget at tage hensyn til.

Kender du chmod() ? : http://php.net/manual/en/function.chmod.php

Michael (12-01-2011)
Kommentar
Fra : Michael


Dato : 12-01-11 23:46

On 12-01-2011 20:14, scootergrisen wrote:
> Kender du chmod() ? : http://php.net/manual/en/function.chmod.php

Nu gør jeg (er ny i det her php halløj)

Jeg kan ikke helt få det til at hænge sammen. Jeg kan ikke oprette en
fil og hvis ikke jeg kan oprette den, kan jeg vel heller ikke ændre
rettigheder på den

Det forgår kun lokalt iøvrigt. Det er ikke noget der skal ud som en
webside. Jeg leger bare og prøver at blive klogere på det her php.

/michael

Leif Neland (12-01-2011)
Kommentar
Fra : Leif Neland


Dato : 12-01-11 23:58

Den 12-01-2011 23:46, Michael skrev:
> On 12-01-2011 20:14, scootergrisen wrote:
>> Kender du chmod() ? : http://php.net/manual/en/function.chmod.php
>
> Nu gør jeg (er ny i det her php halløj)
>
> Jeg kan ikke helt få det til at hænge sammen. Jeg kan ikke oprette en
> fil og hvis ikke jeg kan oprette den, kan jeg vel heller ikke ændre
> rettigheder på den
>
Du skal ændre rettigheder på den mappe, du vil lægge filen i.

Leif

--
Bevar P2, luk P3, der er nok P3'er i forvejen.

Michael (13-01-2011)
Kommentar
Fra : Michael


Dato : 13-01-11 00:09

On 12-01-2011 23:57, Leif Neland wrote:
> Du skal ændre rettigheder på den mappe, du vil lægge filen i.

Det virker sørme Jeg synes ellers jeg havde gjort det. Tak skal du
ha Leif.

/michael

Martin Larsen (12-01-2011)
Kommentar
Fra : Martin Larsen


Dato : 12-01-11 21:29

Michael wrote:

> $fHandle = fopen($fName, 'w+') or die("Can't open: ".$fName);
> fwrite($fHandle, "noget");
> fclose($fHandle);

Du kan i stedet for disse linjer bare bruge:

file_put_contents($fName, "noget");

Rettighederne kan du ændre med chmod() som scootergrisen nævner. Men
afhængig af formålet er det måske lettere at lade "de andre" være i
samme gruppe som webserveren.

Martin (13-01-2011)
Kommentar
Fra : Martin


Dato : 13-01-11 08:27

On 12-01-2011 16:58, Michael wrote:
> Hvordan får jeg PHP til at oprette en fil på min Linux maskine? Der er
> jo noget rettigheds noget at tage hensyn til.
>
> Jeg har den her kode, som jeg har tyv-stjålet, og det virker fint, hvis
> jeg opretter en fil selv og giver "andre skrive og læse rettigheder" til
> den, men hvordan får jeg PHP til at ændre rettighederne?
>
>

Du kan prøve at bruge php funktionen chmod
Dog så er det sjældent det virker.

Det nemmeste er at oprette en mappe via FTP og sætte chmod til 0777 på
den mappe - så kan PHP skrive/slette fra den mappe

> <?php
> $dir = "../pic/test";
> // Open a known directory, and proceed to read its contents
> if (is_dir($dir)) {
> if ($dh = opendir($dir)) {
> while (($file = readdir($dh)) !== false)
> if($file != ".."){
> $fName = $dir."/filnavn.txt";
> $fHandle = fopen($fName, 'w+') or die("Can't open: ".$fName);
> fwrite($fHandle, "noget");
> fclose($fHandle);
>
> echo $fName."<br>"."\n";
> }
> closedir($dh);
> }
> }
> ?>
>
>
> /michael


Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste