kostenloser Webspace werbefrei: lima-city


Suche nach Datei mit glob()

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    webfreclan

    Kostenloser Webspace von webfreclan

    webfreclan hat kostenlosen Webspace.

    Hallo,

    ich möchte mittels einer selbstgeschriebenen Funktion nach einer Datei suchen. Dabei soll man der Funktion den Pfad zum Verzeichnis mitgeben können und die Funktion soll sagen, ob die index.* - Datei eine php oder html - Datei ist.

    Leider funktioniert meine Funktion nur im aktuellen Verzeichnis, sobald ich ein anderes Verzeichnis angebe (das auch existiert), funktioniert meine Funktion nicht mehr. Egal ob ich dabei den absoluten oder relativen Pfad angebe.

    Nachfolgend der Code meiner Funktion:

    <?php
    
    	function get_endung($dir = ''){
    		$file = $dir."index.*";
    		
    		foreach (glob($file) as $indexfile) {
    			switch ($indexfile) {
    				default:
    				case 'index.html':
    					return 'html';
    					break;
    				case 'index.php':
    					return 'php';
    					break;
    			}
    		}
    	}
    	
    echo get_endung('/var/www/html/test/test/testdir/');


    Hat jemand eine Idee, was falsch ist?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo webfreclan,

    Die Funktion glob() gibt für die gefundenen Dateien den gesamten Pfad zurück. Wenn du also einen bestimmten Pfad festlegst, dann treffen die case-Ausdrücke nicht mehr, da dort nur die Dateinamen ohne Pfad stehen.

    Ich habe die Pfadangabe einmal ergänzt. Das sieht dann so aus:
    <?php
    
    	function get_endung($dir = ''){
    		$file = $dir."index.*";
    		
    		foreach (glob($file) as $indexfile) {
    			switch ($indexfile) {
    				default:
    				case $dir.'index.html':
    					return 'html';
    					break;
    				case $dir.'index.php':
    					return 'php';
    					break;
    			}
    		}
    	}
    	
    echo get_endung('/var/www/html/test/test/testdir/');
  4. Autor dieses Themas

    webfreclan

    Kostenloser Webspace von webfreclan

    webfreclan hat kostenlosen Webspace.

    fuerderer schrieb:
    Die Funktion glob() gibt für die gefundenen Dateien den gesamten Pfad zurück. Wenn du also einen bestimmten Pfad festlegst, dann treffen die case-Ausdrücke nicht mehr, da dort nur die Dateinamen ohne Pfad stehen.

    Danke, das wars.

    Es geht jetzt :smile:
  5. Mit pathinfo() kannst du btw auch einfach nur die Dateiendung zurück geben, das spart dir die Erweiterung des switch-case-Blocks, wenn du erweiterst.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!