Tein tiedostojen hallintaa ja tuli ihmeellinen ongelmaa siihen joka chmodaa filut ihan omituisesti :/
Kyseinen kohta koodista (olen kokeillut kaikilla mahdollisilla tavoilla muotoilla tuon numeron, mutta aina sama):
<?php $file = $_GET['file']; $total = $_POST['total']; $nolla = 0; $total = $nolla."".$total; chmod($file, $total); echo "-|".$total."|- @".$file; ?>
Tuo koodi tulostaa:
-|0777|- @/home/laasonen/public_html/kauppa/admin/pages/tt.php
Eli muuttujat näytttäisi olevan oikein, mutta silti tiedoston oikeuksiksi "411" :/
Muokkaamalla koodin tälläiseksi se taas toimii, eli vika on tuossa numerossa, mutta en keksi mikä:
<?php $file = $_GET['file']; chmod($file, 0777); ?>
Auttaisikohan intval?
PHP:n löyhä tyyppisysteemi muuttaa merkkijonot automaattisesti kymmenjärjestelmän numeroiksi, siis "0777" vastaa numeroa 777. C:ssä ja sen syntaksia vastaavissa kielissä oktaalijärjestelmän numerot merkataan etuliitteellä 0 (nolla), ja tämän vuoksi 0777 ei ole sama kuin 777 tai "0777", vaan 511.
Funktio chmod ottaa kaksi parametria, joista jälkimmäinen on 3-numeroinen oktaaliluku, joka määrittää omistajan, ryhmän ja muiden oikeudet tiedostoon. Alla esimerkki (turhia muuttujia käyttävästä koodaustavasta ;))
(edit, tosiaan)
(edit2: en ole tarkistanut toimivuutta, enkä aktiivisesti käytä PHP:ta joten en voi taata esimerkin toimivuutta tai yllä olevien väitteiden täyttä todenmukaisuutta)
Eipä intval auttanut. Miten saan sen tuohon eq:n kertomaan muotoon?
EDIT:
Kiitti, sain näin toimii :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.