Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Dateiname vor Browseranzeige umbenennen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Dateiname vor Browseranzeige umbenennen


 
Borsi
01-06-2008, 11:05 
 
Hallo

Gibt es in PHP eine Methode um eine Datei vor dem Aufruf umzubenennen?

Beispiel:
Der angezeigte Dateiname lautet vorlage.php?seite=kontakt
Im Browser soll aber kontakt.php angezeigt werden.

Beim Apache gibt es das rewriting-Modul um solche Probleme zu lösen.

Ist die Lösung aber auch direkt mit PHP möglich?

Gruss

 
combie
01-06-2008, 11:17 
 
Bevor du mit PHP was umbenennen kannst, muß PHP erstmal an die Reihe kommen, also ausgeführt werden.

Wenn du im Browser eine nicht vorhandene Datei aufrufst, wird der Server dir einen Status 404 senden.

The requested URL was not found on this server.

Also mit PHP nein!
Mit mod_rewrite ja!

Dirty Hack:
Du könntest den 404 auf eine PHP Datei richten, welche das abhandelt.
Sehr unschön!!
Ganz und gar unschön!
----

Der angezeigte Dateiname lautet vorlage.php?seite=kontakt
Was gibt es gegen solche Urls einzuwenden?

 
Griecherus
01-06-2008, 11:34 
 
PHP kann zwar auch das Rewriting übernehmen, allerdings geht auch das dann nicht ganz ohne das Rewrite Modul, da du die Rewrite Engine zumindest dazu brauchst, alle eingehenden Requests an eine Datei zu schicken, die sie verarbeitet. Ansonsten bekommst du, wie combie bereits gesagt hat, nur einen 404er.

Grüße

 
Borsi
01-06-2008, 11:37 
 
Hallo Combie

Besten Dank für Deine schnelle Antwort!

Es geht also nicht. Schade.
Aber ich weiss jetzt wenigstens, dass ich nicht weitersuchen muss.

> Was gibt es gegen solche Urls einzuwenden?

Technisch wenig. Aber im Marketing sind solche Bandwürmer unbrauchbar.

Gruss

 
PHP-Desaster
01-06-2008, 17:33 
 
Erstell doch eine kontakt.php-Datei mit dem Inhalt:<?php
$_GET['seite'] = 'kontakt';
include "vorlage.php";
?>


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:04 Uhr.