[PHP] CHMOD: dynamische invoer

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb in een tabel in mijn database een aantal standaard chmod-permissies opgeslagen als 'char' en deze wil ik dynamisch in de chmod-functies in mijn document gebruiken.

Echter, het lukt mij niet om de de inhoud van de 'chars', strings dus, om te zetten naar integers met een octale telling, dus: '0755' bijvoorbeeld.

Nu heb ik de volgende oplossingen bedacht, die helaas niet blijken te werken:

1. Eerst de variabele, waarin de database waarde moet worden opgeslagen, omzetten naar een integer -> probleem: de variabele wordt weer naar een string omgezet zodra ik de waarde uit de database aan hem (of is 'variabele' soms vrouwelijk? :?) toeken

2. Eerst de waarde uit de database omzetten naar een decimale waarde en hem vervolgens weer terug converteren naar zijn octale variant -> probleem: de eerste nul wordt automatisch verwijderd, dus: '755' i.p.v. '0755' bijvoorbeeld

Kortom ik hoop dat jullie me kunnen vertellen hoe dit mogelijk is, of dat dit onmogelijk is.

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Wat heb je precies in je database staan? '0755' als string?

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja inderdaad.

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Waarom heb je dat niet als int opgeslagen? Scheelt je weer een conversie. Voor decimal naar octal is er namelijk decoct() (en het omgekeerde octdec() natuurlijk.)

--

Brak uitgelegd. Maar goed, stel je hebt '755' als base-10 int. Dan werkt dit:
PHP:
1
chmod("bla filename", octdec(755));

[ Voor 45% gewijzigd door CyBeR op 20-05-2004 00:23 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het werkt inderdaad zo te zien, vaag zeg dat de chmod-functie kennelijk ook decimale getallen accepteerd..

[ Voor 84% gewijzigd door Verwijderd op 20-05-2004 00:27 ]


Acties:
  • 0 Henk 'm!

  • Firefly III
  • Registratie: Oktober 2001
  • Niet online

Firefly III

Bedrijfsaccount Firefly III
-

[ Voor 143% gewijzigd door Firefly III op 05-03-2016 15:10 . Reden: Leeg vanwege privacy. ]

Hulp nodig met Firefly III? ➡️ Gitter ➡️ GitHub ➡️ Mastodon


Acties:
  • 0 Henk 'm!

Verwijderd

Slarioux schreef op 20 mei 2004 @ 00:26:
Dan print ie gewoon de nul, en dan 777.

"Banana" en "split" echoën maakt ook nog geen ijsje ;)
Volgens mij concateneert het wel gewoon naar een string, die daarna naar het scherm geprint wordt...

maar werkt Cyber's oplossing niet?

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Verwijderd schreef op 20 mei 2004 @ 00:24:
Het werkt inderdaad zo te zien, vaag zeg dat de chmod-functie kennelijk ook decimale getallen accepteerd..
Neuh. De truuk zit 'm meer in de parsing. Een octaal getal is net zo goed een setje bits als een decimaal getal. Door die 0 toe te voegen wordt je getal gezien als een base-8 getal. Als je 0x toe zou voegen ipv die 0 wordt 't gezien als hex. Maar 0x1016 == 1610 == 0208 == 100002

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok. dan snap ik het. Bedankt!

Edit:

Let op! Ik heb net gemerkt dat bovengenoemd 'trucje' niet werkt bij de mkdir-functie.

[ Voor 63% gewijzigd door Verwijderd op 20-05-2004 01:09 ]

Pagina: 1