Php - olsun ebeveyn-script name

2 Cevap php

parent.php:

require_once 'child.php';

child.php:

echo __FILE__;

Bu gösterecektir '... / Child.php'

Nasıl '... / Parent.php' alabilirsiniz

2 Cevap

Seçilen cevap sadece sunucu değişkenleri belirlemek ve özellikle CLI komut dosyası çalışmaz ortamlarda çalışır. Ayrıca, üst belirlemek değil, ama sadece üstteki komut dosyası.

Sen $ argv [0] bakarak bir CLI komut hemen hemen aynı şeyi yapabilirsiniz, ama bu tam yolunu sağlamaz.

Çevre-bağımsız çözüm kullanımları debug_backtrace :

function get_topmost_script() {
  $backtrace = debug_backtrace(
      defined("DEBUG_BACKTRACE_IGNORE_ARGS")
      ? DEBUG_BACKTRACE_IGNORE_ARGS
      : FALSE);
  $top_frame = array_pop($backtrace);
  return $top_frame['file'];
}

Ben bunu yapabileceğimi sanmıyorum: __FILE__ sihirli sabit yazılı olduğu dosya hangi gösterir; ve hepsi bu.

Hangi PHP komut dosyası başlangıçta (örneğin, talep edildiği URL) denilen bilmek istiyorsanız, $_SERVER superglobal bakarak daha fazla şans olabilir: o {size yardımcı olacak bazı dahil olmak üzere, birçok bilgi içeriyor [(1)]} veya SCRIPT_NAME, örneğin) ;-)