Sınıf gelen howto olsun dosya PHP dahil edildi

3 Cevap php

I understand that the question is rather hard to understand, I didn't know how to ask it better, so I'll use this code example to make things more clear:
If I have the following files:

dnm.php:

<?php
 include('include.php');
 echo myClass::myStaticFunction();
?>

include.php

<?php
 __autoload($classname){
  include_once("class/".$classname.".php"); //normally checking of included file would happen
 }
?>

sınıf / myClass.php

<?php
 class myClass{
  public static function myStaticFunction(){
   //I want this to return test.php, or whatever the filename is of the file that is using this class
   return SOMETHING;
  }
?>

sihirli DOSYA sürekli o yol / / myClass.php döner, doğru bir değil

3 Cevap

durumda "test.php" olsun görmek $_SERVER['SCRIPT_NAME'] gerekir

Ben kullanarak sona erdi:

$file = basename(strtolower($_SERVER['SCRIPT_NAME']));

Ben kullanıyorum

$arr = @debug_backtrace(false);
if (isset($arr))
foreach ($arr as $data)
{
 if (isset($data['file']))
 echo $data['file'];
 // change it to needed depth
}

Bu şekilde size dosya dahil edildiği dosyasını değiştirmek gerekmez. debug_backtrace bazı hız consenquencies olabilir.