لن تعمل وظيفة php move_uploaded_file على الخادم عبر الإنترنت ولكنها تعمل على المضيف المحلي
-
07-07-2019 - |
سؤال
لقد كنت أعمل على ملف تحميل يعمل بشكل جيد على المضيف المحلي (Windows) ولكنه لن يعمل على خادم Linux الذي أستأجره.أريد أن يتم نقله إلى مجلد فرعي "/ملفات" من مكان وجود الملف.
يعطي الأخطاء:تحذير:move_uploaded_file(/home/taalhulp/domains/taalhulpmanager.nl/public_html/files/6) [function.move-uploaded-file]:فشل في فتح الدفق:تم رفض الإذن في /home/taalhulp/domains/taalhulpmanager.nl/public_html/Gegev_Dossier.php على السطر 66
تحذير:move_uploaded_file() [function.move-uploaded-file]:غير قادر على نقل "/tmp/phpFMaeAs" إلى "/home/taalhulp/domains/taalhulpmanager.nl/public_html/files/6" في /home/taalhulp/domains/taalhulpmanager.nl/public_html/Gegev_Dossier.php على السطر 66
هنا نسخة مبسطة من الكود الخاص بي
$FotoMap = '/home/taalhulp/domains/taalhulpmanager.nl/public_html/files/' ;
if ($_POST['type'] == 'add' & strlen($_FILES['FileUpload']['name']) > 0 && strlen($_POST["GivenFileName"]) > 0 )
{
if (move_uploaded_file($_FILES['FileUpload']['tmp_name'], $FotoMap . $file_name_id))
{
$_SESSION['echo'] = 'succes';
}
else
{
$_SESSION['echo'] = 'fail';
}
}
تقول أن الإذن مرفوض ولكن هل هذا لأنني فعلت شيئًا خاطئًا أو لأنني بحاجة إلى الاتصال بمزود الخدمة الخاص بي لإخباره بتمكين ذلك، ربما يمكنني تمكين ذلك بنفسي؟
المحلول
تأكد من أن /home/taalhulp/domains/taalhulpmanager.nl/public_html/files/
تم تعيين أذونات ل 0777
.
لا أنصح بفعل ذلك لأنه يفتح مجموعة من المشكلات الأمنية.سيكون من الأفضل معرفة المستخدم أو المجموعة التي يتم تشغيل البرنامج النصي عليها وتعديل الدليل ليصبح مملوكًا لهذا المستخدم بدلاً من ذلك.
نصائح أخرى
ربما ليس لديك أذونات (محرك PHP/خادم الويب Apache) للوصول إلى دليل التحميلات المؤقتة.حاول ضبط المسار المؤقت المخصص لك.