تتضمن وتتطلب المشكلة عندما استخدمه مع ملف من المجلد
سؤال
وعادة ما تستخدم هذا الخط لاستيراد ملف من خارج المجلد الحالي وانها تعمل بشكل جيد على الخادم المضيف مدينتي
require("../DataBase.class.php");
ولكن عندما أقوم بتحميل البرنامج النصي على موقع الويب الخاص بي أحصل على هذا تحذير
<اقتباس فقرة>تحذير: تشمل (../ DataBase.class.php) [function.include]: فشل في فتح الدفق: لا يوجد مثل هذا الملف أو الدليل
اقتباس فقرة>المحلول
والوضع الآمن لا يحب "../". لذلك ينبغي عليك دائما استخدام شيء من هذا القبيل
require_once realpath(dirname(__FILE__) . '/..') . '/file.php';
نصائح أخرى
وما ربما يحدث هو أن وضع include_path الخاصة بك في ملف php.ini مختلفة على الخادم الخاص بك من على التثبيت المحلي من PHP / أباتشي. مع هذا، أن نضع في اعتبارنا أن ../ لا يشير إلى الدليل الحالي أن الملف قيد، فإنه يشير إلى الدليل الأصل من الدليل الحالي كنت في ما أنصح هو معرفة المسار الكامل ل جذر المستند الخاص بك، ثم بما في ذلك الملفات الخاصة بك مثل هذا:
<?php
$full_path = "/var/www/htdocs"; // this should be your website's full path
require( $full_path . "/DataBase.class.php" );
?>
أنت تبحث عن الملف في الدليل الأصل. إذا كنت ترغب في استخدام الدليل حاليا:
require 'Database.class.php';
وربما على خادم الويب الخاص المحلي لديك نسخة في دليل والديك لسبب ما غير موجود على الخادم الخاص بك عن بعد.