[PHP] Masalah menetapkan permission pada mkdir() dan chmod()

Situasi masalah kali ini agak mengelirukan kerana saya sudahpun merujuk pelbagai laman web tentang contoh penggunaan mkdir() serta chmod(). Tetapi, masalah sama tetap muncul di mana permission yang saya tetapkan untuk folder yang saya hendak buat tidak sama dengan permission folder yang diberikan kepada *folder * tersebut.

Saya menggunakan mkdir() seperti ini:

mkdir("./test", 777);

Tetapi yang terhasil adalah 007.
Jadi saya cuba menggunakan chmod():

mkdir("./test", 777);
chmod("./test", 777);

Tetapi masih juga sama. Lalu saya cuba mengubah mask:

$oldmask = umask(0);
mkdir("./test", 777);
umask($oldmask);

Tekanan semakin terasa apabila hasilnya tetap sama!

Setelah beberapa minit merenung hidup, saya merujuk semula dokumentasi PHP dan mendapati saya mempunyai kesalahan menaip. Permission yang saya taip sepatutnya adalah 0777 dan bukannya 777. Jadi code akhirnya saya yang berfungsi adalah:

mkdir("./test", 0777);

Pengajarannya adalah sentiasa menumpukan perhatian.

[PHP] Masalah menetapkan permission pada mkdir() dan chmod()
Share this