PHP, Filenamen herauslesen

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_filenamen_herauslesen_106828/page_1 - zur Vollversion wechseln!


Facetious schrieb am 11.02.2004 um 15:21

hi leute!

schon wieder ein php problem :)

ich muss dynamisch den filenamen der gerade geöffneten seite herauslesen und diese dann in eine db schreiben.

gibts da eine funktion? :confused:

tia Facetious


Rektal schrieb am 11.02.2004 um 15:42

$_SERVER['SCRIPT_FILENAME'] , wird von Apache gesetzt.

Schau dir den Output von phpinfo() , dann siehst du was es noch alles gibt.


Facetious schrieb am 11.02.2004 um 16:08

passt danke!

funktioniert tadellos!

edit:

also .. mit der funktion $_SERVER['SCRIPT_NAME'] bekomm ich jetzt aber die ordner auch dazu also wenn das file zb "bier" heisst steht dann dort:

/webshop/shop/artikel/bier.php

ich bin kein experte, aber kann man das nicht irgendwie "wegschneiden"?
tia


Smoldi schrieb am 11.02.2004 um 16:28

du könntest mit explode den string in ein array exploden und den letzten wert hernehmen (achtung: russische lösung ;))...
alternativ gehts sicher mit preg_replace()


mat schrieb am 11.02.2004 um 17:11

ich wollts vorher posten.. hab mir aber dann gedacht es wäre unnötig :) :p

willst du den relativen pfad zum document root oder wirklich nur filename?

filename wäre:

Code: PHP
$szInclude = $_SERVER['SCRIPT_NAME'];

$szRippedInc = strrchr($szInclude,"/");
$szRippedInc = $szRippedInc == "" ? $szInclude : substr
($szRippedInc,1);

allerdings bin ich mir nicht sicher ob du wirklich SCRIPT_NAME willst. wenn du wirklich immer den filenamen der augenblicklichen datei haben willst dann benötigst du __FILE__

ein beispiel:

test.php
Code: PHP
<?php include("inc.php"); ?>
inc.php
Code: PHP
<?php echo "Filename: ".$_SERVER['SCRIPT_FILENAME']."<br>File:".__FILE__; ?>

wenn du jetzt test.php im browser ausführst dann wirst du sehen, dass SCRIPT_FILENAME test.php ist und nicht inc.php.

hth
mat


Rektal schrieb am 11.02.2004 um 17:47

Um nur den Filename zu bekommen bei einer Pfadangabe, verwende basename:

Code: PHP
$filename = basename($_SERVER['SCRIPT_FILENAME']);


orpheus schrieb am 11.02.2004 um 17:53

Code: PHP
<?php
$path = "/home/httpd/html/index.php";
$file = basename ($path);        // $file is set to "index.php"
$file = basename ($path,".php"); // $file is set to "index"
?>


Facetious schrieb am 11.02.2004 um 18:26

thx 4 help!

das mit basename funktioniert perfekt

[x]SOLVED

nochmal danke

Facetious




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025