PDA

View Full Version : آموزش: ساخت فولدر و تنظیم پرمیشن مربوط به آن توسط PHP



mr.wolf
یک شنبه 18 اردیبهشت 1390, 15:07 عصر
با سلام
توسط دستور mkdir میشه یه فولدر ساخت
آیا راهی هست که توسط PHP بشه به همین فولدری که می سازیم پرمیشن خاصی رو بدیم؟

hossin.esm
یک شنبه 18 اردیبهشت 1390, 16:15 عصر
<?php
// Read and write for owner, nothing for everybody else
chmod("/somedir/somefile", 0600);

// Read and write for owner, read for everybody else
chmod("/somedir/somefile", 0644);

// Everything for owner, read and execute for others
chmod("/somedir/somefile", 0755);

// Everything for owner, read and execute for owner's group
chmod("/somedir/somefile", 0750);
?>

http://ir.php.net/manual/en/function.chmod.php

mr.wolf
یک شنبه 18 اردیبهشت 1390, 16:59 عصر
توسط اسکریپت فولدر رو می سازم و بهش پرمیشن میدم


mkdir (myfolder);
chmod (myfolder, 0777 );

از قسمت کنترل پنل که نگاه میکنم فولدر ساخته شده و پرمیشن 777 هم داره. ولی جلوی اون برای اسم کاربری نوشته شده apachi و نکته جالب اینجاست که هیچ کاری نمی شه با این فولدر انجام داد.
نه میشه فایلی داخل اون آپلود کرد و نه اینکه پاکش کرد.
همش خطای پرمیشن میده.
دوستان راه حلی به ذهنتون میرسه ؟ :گریه:

hossin.esm
یک شنبه 18 اردیبهشت 1390, 20:08 عصر
سلام
فکر کنم به خاطر تنظیمات سرور هست
با خود تابع mkdir میشه پرمیشن داد


mkdir("/path/to/my/dir", 0700);

برای رفع این مشکل فکر کنم اگر با FTP کار کنید مشکل حل بشه.
از لینک زیر چند تانمونه ببینید.
http://ir2.php.net/manual/en/function.chmod.php#78874

mr.wolf
دوشنبه 19 اردیبهشت 1390, 16:46 عصر
از پاسخ شما متشکرم
ولی مشکل برطرف نشد.
در هنگام آپلود فایل "error_get_last" گرفتم این شد نتیجه:


move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10161 is not allowed to access /data/mysite.com/test/0 owned by uid 48


اینمجوری که این میگه اشکال از SAFE MODE هست.
با سرور صحبت کردم میگه از نظر امنیتی نمی تونه SAFE MODE رو واسم OFF کنه.
دوستان راهی به ذهنتون میرسه که بشه این SAFE MODE رو دور زد یا اینکه بدون اینکه نیازی بشه با سرور هماهنگ کنیم اون رو OFF کنیم؟

یه جا خوندم نوشته بود که یه فایل PHP.INI درست کنم و داخل فولدر اسکریپت بذارم با SAFE MODE OFF مشکل برطرف میشه. انجام دادم ولی نشد...!

دوستان راهی به ذهنتون میرسه ؟:افسرده:

mr.wolf
سه شنبه 20 اردیبهشت 1390, 16:55 عصر
دوستان کسی ایده ای نداره ؟