PHP: octdec - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

pi mt_srand

Last updated: Sat, 27 Jan 2007

view this page in

# octdec

(PHP 3, PHP 4, PHP 5)

octdec -- Octal to decimal

## Description

number octdec ( string octal_string )

Returns the decimal equivalent of the octal number represented by the `octal_string` argument. The largest number that can be converted is 17777777777 or 2147483647 in decimal. As of PHP 4.1.0, this function can also convert larger numbers. It returns float in that case.

Пример 1. octdec() example

`<?php echo octdec('77') . "\n"; echo octdec(decoct(45)); ?>`

Результат выполнения данного примера:

    63
    45

See also: decoct(), bindec(), hexdec(), and base_convert().

add a note User Contributed Notes
octdec
11-Sep-2002 01:51
`The 'S' flag for Unix file access rights is badly computed in the above sample.
If the corresponding 'x' bit (exec) is not set, and the 's' bit (setgid/setuid/sticky) is set, then the flag should not be displayed as and uppercase 'S', but as a lower case 's'. Also the sticky bit (mainly used for folders with public right access rights such as /tmp to protect against deletion by non owner) is badly named ("text"?).`
meheler at searchbc dot com
25-Oct-2001 08:03
`This function and decoct work great when working with file permissions. For example:
<?php
$mode = octdec('4750');
$user['suid'] = ($mode & 04000);
$user['read'] = ($mode & 00400);
$user['write'] = ($mode & 00200);
$user['execute'] = ($mode & 00100);
$group['sgid'] = ($mode & 02000);
$group['read'] = ($mode & 00040);
$group['write'] = ($mode & 00020);
$group['execute'] = ($mode & 00010);
$other['text'] = ($mode & 01000);
$other['read'] = ($mode & 00004);
$other['write'] = ($mode & 00002);
$other['execute'] = ($mode & 00001);
$attrs = array('-','-','-','-','-','-','-','-','-','-');
if ($system['dir']) $attrs[0] = 'd';
if ($user['read']) $attrs[1] = 'r';
if ($user['write']) $attrs[2] = 'w';
if ($user['execute']) $attrs[3] = 'x';
if ($user['suid']) $attrs[3] = 'S';
if ($group['read']) $attrs[4] = 'r';
if ($group['write']) $attrs[5] = 'w';
if ($group['execute']) $attrs[6] = 'x';
if ($group['sgid']) $attrs[6] = 'S';
if ($other['read']) $attrs[7] = 'r';
if ($other['write']) $attrs[8] = 'w';
if ($other['execute']) $attrs[9] = 'x';
if ($other['text']) $attrs[9] = 'T';
echo '<pre>';
echo 'Mode Decimal: ' . $mode . "\n";
echo 'Mode Octal: ' . decoct($mode) . "\n";
echo 'Mode String: ' . implode('',$attrs)."\n";
echo '</pre>';
?>
Outputs:
Mode Decimal: 2536
Mode Octal: 4750
Mode String: -rwSr-x---
-Mike`
add a note
pi mt_srand

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST