Miten saisi tomimaan tämmöisen jutun.
Minulla on lomake, josta syötetään chmod.arvo, esim. 0644. Se täytyy muuttaa funktiolle integeriksi, mutta siitä katoaa tuo eka nolla pois. Millä sen saa pysymään ilman, että siitä tulee stringi?
Tarkoitatko, että muutat stringin integeriksi ja siitä katoaa nolla?
En tiedä onnistuisko se mitenkään tyyliin chmod($file,0 . $value);
?
Quirzo kirjoitti:
Tarkoitatko, että muutat stringin integeriksi ja siitä katoaa nolla?
En tiedä onnistuisko se mitenkään tyyliin chmod($file,0 . $value);
?
jes. Mutta ei toimi tuo. Ei myöskään tämä:
$int = 0; if(ftp_chmod($ftp_id, $int.$chmod, $tiedosto) !=false)
Sen sijaan tämä toimisi:
$int = 0644; if(ftp_chmod($ftp_id, $int, $tiedosto) !=false)
Mutta tuota on lomakkeelta vaikea saada, koska lomakkeelta tuleva on stringi. Oliko tähän kenties jotain funktiota? Lomakkeella ei taida olla sellaista tyyppiä, joka olisi integer?
Tuo 0644 ei olekaan kymmenjärjestelmässä vaan oktaalissa. Octdec-funktiolla saat muutettua stringissä olevan oktaaliluvun 10-järjestelmään.
Paljon kiitoksia!
Tuo olikin matematiikka-funktioissa, niin en hoksannut sieltä etsiä. Toimii näin yksinkertaisella virityksellä:
$chmod = rtrim($_POST['chmod']); $chmod = octdec($chmod);
Aihe on jo aika vanha, joten et voi enää vastata siihen.