Tamam, ben bu gibi sunucu üzerindeki bir dosyaya işaret eden bir PHP sabiti tanımlanmış:
define('SOME_FILE', str_replace('//', '/', str_replace('\\', '/', dirname(__FILE__) . '/foo-bar.txt')));
SOME_FILE include, fopen, vb PHP işlevleri useble bir tam yol + dosya içerecek Şimdi ben bir URL olarak bu yolu kullanmak istiyorsanız benim (X) HTML çıktı, ben mahvoldum. Bunu yapmak için, ben belge kök sökmek gerekir.
Genellikle, $_SERVER['DOCUMENT_ROOT'] PHP ortamlarında% 99 ayarlanır, ama kötü, yapılandırılan kullanıcı tarafından yazılır veya eksik bile nerede bu olabilir.
Şimdi ne yapmak istiyorum SOME_FILE dosyasının gerçek URL (belge kök yolu sıyrılıp alınır) işaret edeceğini dayalı define() başka bir PHP sabiti etmektir.
Ben __FILE__, $_SERVER['SCRIPT_NAME'] (SCRIPT_NAME CGI 1.1 spesifikasyonu değil DOCUMENT_ROOT başı olarak gereklidir) ile kod 3-4 satırlarında bunu biliyorum, strrpos ve substr, ama ben bir tanımlamak açıklamada kullanmak için "tek satır" çözüm arıyorum ...
Ben PHP 5.1.0 + kullanın. Amy önerilerinizi bekliyoruz!