تتضمن وتتطلب المشكلة عندما استخدمه مع ملف من المجلد

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

  •  06-07-2019
  •  | 
  •  

سؤال

وعادة ما تستخدم هذا الخط لاستيراد ملف من خارج المجلد الحالي وانها تعمل بشكل جيد على الخادم المضيف مدينتي

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';

وربما على خادم الويب الخاص المحلي لديك نسخة في دليل والديك لسبب ما غير موجود على الخادم الخاص بك عن بعد.

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