السلام عليكــم ورحمـة الله وبركاتــه ،،
الموضوع هو اني اعمل على تحميل عدة ملفات, و لعدة انوع ( PDF, Doc, JPEG, HTML , Gif ) الى مجلدات موجودة على web server ,
من خلال صفحة PHP , بحيث يدخل المستخدم عنوان و تاريخ ثم يختار الملفات للتحميل. و يعمل بشكل جيد, جميع البيانات تدخل الى جدول قاعدة البيانات بما فيها اسماء الملفات, لكن
المشكلة هي ان المجلد الموجود على السيرفر( مسار التحميل ) لا يقبل عميلة التحميل الا اذا كانت الصلاحيات الممنوحة له هي 777 , و هذا طبعا غير امن.
اقترح علي البعض استخدام دالة Chmod بعد امر التحميل في كود تحميل, و رغم اني جربت, لكن لم ينجح بتغير الصلاحية.
السيرفير الذي لدي يعمل تحت بيئة linux.
* البعض نصحني بتخزين الملفات في قاعدة البيانات ( لدي MYSQL ) , لكن لم اجرب هذة الطريقة من قبل.
هذا هو كود التحميل:
<?
$uploadsNeeded = 2;
for($i = 1; $i <= $uploadsNeeded; $i++){
$file_name = $_FILES['uploadFile'. $i]['name'];
// strip file_name of slashes
$file_name = stripslashes($file_name);
$file_name = str_replace("'","",$file_name);
//chmod($document_type,0777);
$copy = copy($_FILES['uploadFile'. $i]['tmp_name'],'Documents_path/'.$document_type.'/' . $file_name);
chmod($document_type,0777);
// prompt if successfully copied
if($copy){
echo "$file_name | uploaded sucessfully!<br>";
}else{
echo "$file_name | could not be uploaded!<br>";
}
$file_name1 = stripslashes($file_name);
$file_name1 = str_replace("'","",$file_name);
$file_name2 = stripslashes($file_name);
$file_name2 = str_replace("'","",$file_name);
$file_name1 = $_FILES['uploadFile'. 1]['name'];
$file_name2 = $_FILES['uploadFile'. 2]['name'];
}
?>كيف يمكن تغيير صلاحيات مجلد $document_type و بالمناسبة اسم المجلد هنا عبار عن رقم يأخذ قيمتة من menu في نفس النموذج.
و هل لكون اسم المجلد رقم يأتي من قيمة في نفس النموذج علاقة؟
مع خالص التحيات
محمد
