[PHP] Default-Error Seite ausgeben

  • Guten Abend!


    Ist es in PHP Igrendwie möglich, den Pfad der Error-Documents herauszufinden?


    Ich möchte in einem Skript, wenn nicht alle Parameter übergeben wurden, die Standard Error-Seite ausgeben.


    Die Methode "auf nicht vorhandene Seite Weiterleiten" fällt aus, da ich die Seite "komplett unsichtbar" machen möchte, bei einer Weiterleitung weiß man aber, dass hinter der URL ein Skript steckt. Einfach den 404-Statuscode ausgeben bringt z.B.: bei meinem Opera nichts, da er dann einfach eine weiße leere Seite anzeigt. Auch das Ausgeben von file_get_contents('http://nicht_Vorhandene_Seite'); geht nicht, da PHP nur ein E_WARNING ausgibt, den Inhalt jedoch nicht...


    Hat irgendjemand Hilfe?


    MfG Florian

  • Du könntest dem Browser einfach eine Standard Apache Errorseite "vorspielen":


    HTML
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /DEINSCRIPT.php was not found on this server.</p>
    <hr>
    <address>Apache/2.2.16 (Debian) Server at DEINSERVER.eu Port 80</address>
    </body></html>

    Professioneller Webentwickler.

  • Das Problem ist, ich möchte das ganze nicht auf meinem Webserver machen.


    Ich will das ganze mal verkaufen, und wenn ein Kunde eine eigens erstellte 404-Page hat, soll diese dann angezeigt werden.
    Und da das ganze anwenderfreundlich sein soll, will ich nicht dass der Kunde dann den Pfad der Error-Seite in die .htaccess-Datei eintragen muss, aber ich werde wohl nicht daran vorbei kommen, oder?

  • du kannst das ganze auch einfache machen in dem du in der Anwendung eine Möglichkeit gibst den Pfad zu ändern. Dann die htaccess mit einfach mit fwrite & co bearbeiten bzw. das neue speichern

    PHP
    <?php
    $file = fopen(".htaccess", "a+");
    fwrite("ErrorDocument 404 /ErrorDatei.html", $file);
    fclose($file);
    ?>

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern