لن تعمل وظيفة php move_uploaded_file على الخادم عبر الإنترنت ولكنها تعمل على المضيف المحلي

StackOverflow https://stackoverflow.com/questions/1217272

سؤال

لقد كنت أعمل على ملف تحميل يعمل بشكل جيد على المضيف المحلي (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) للوصول إلى دليل التحميلات المؤقتة.حاول ضبط المسار المؤقت المخصص لك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top