PHP fopen() خطأ في الوصول إلى حد إعادة التوجيه

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

  •  22-08-2019
  •  | 
  •  

سؤال

عند تنفيذ الكتلة التالية من التعليمات البرمجية:

foreach($eventfiles as $eventfile)
{
    if($eventfile['filename'])
    { 
        $file = $eventfile['filepath'];
        // Open File
        if( !($fp = fopen($file, "r")))
        {
            echo '<br>CAN NOT READ FILE.';
            exit;
        }
        // Read data from the file into $data
        $data = "";
        while (!feof($fp)) $data .= fread($fp,1024);
        query("update event_rtab set html = '".escape($data)."' where id = {$eventfile[id]}");
    }
    if($eventfile['eventType']=='email')
    {
        query("INSERT INTO event_email_rtab (event_id,subject) values ($eventfile[id],'".escape($eventfile[email_subject])."')");
    }
}

فشل البرنامج النصي بسبب الخطأ التالي:

fopen (test.html) [function.fopen]:فشل في فتح الدفق:تم الوصول إلى حد إعادة التوجيه ، وإجهاض في/data/www/example.com/public/test.php على السطر 843

ما الذي يسبب هذا الخطأ وكيف يمكنني تصحيحه؟

هل كانت مفيدة؟

المحلول

أين توجد الملفات التي تحاول فتحها؟هل هي موجودة في نظام الملفات المحلي أم أنك تحاول الوصول إليها عبر HTTP(S)؟

إذا كنت تستخدم بعض أدوات تغليف بروتوكول الشبكة، فمن المرجح أن يكون هذا الخطأ مرتبطًا بعدد كبير جدًا من عمليات إعادة التوجيه (HTTP - في حالة بروتوكول HTTP(S)) في الطريق من البرنامج النصي الخاص بك إلى الملف الذي تريد فتحه.ال يجب أن يكون حد إعادة التوجيه الافتراضي 20.نظرًا لأن 20 عملية إعادة توجيه كثيرة جدًا، فقد يكون هناك بعض الأخطاء في اسم الملف نفسه (مما يتسبب على سبيل المثال في حدوث خطأ ما).خادم الويب على الطرف الآخر لإجراء بعض عمليات إعادة التوجيه للتدقيق الإملائي) أو تم تكوين الخادم الآخر بشكل خاطئ أو أن هناك بعض الإجراءات الأمنية المعمول بها أو...

إذا شعرت بالحاجة إلى تمديد عمليات إعادة التوجيه العشرين، فيمكنك استخدام سياق الدفق.

$context = array(
    'http'=>array('max_redirects' => 99)
);
$context = stream_context_create($context);
// hand over the context to fopen()
$fp = fopen($file, 'r', false, $context);
// ...

لطفا أنظر:

نصائح أخرى

وانها كثيرا على الأرجح بسبب الملف الذي تحاول فتحه تحاول فتح ملف آخر والوصول thusly الحد من إعادة التوجيه.

وتحرير: عندما أقول المرجح، أعني التي يمكن أن تسبب خطأ وهذا قد يكون هذا الوضع

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