Ich habe eine Seite auf meiner Seite, auf der einige Bilder angezeigt werden, die mit meinem PHP erstellt wurden. Wenn ich mit der rechten Maustaste auf ein Bild klicke und auf Bild speichern klicke, wird der Name der php-Datei, die zum Erzeugen des Bildes verwendet wird, als Standardname verwendet.
Dies ist zum Beispiel der HTML-Code für das Bild:
%Vor%und der Name, den ich bekomme ist: picture_generator.php.png
Gibt es eine Möglichkeit, diesen Namen auf einen Standardnamen zu setzen?
Vielen Dank im Voraus
Sie können versuchen, den Dateinamen mithilfe der HTTP-Header festzulegen, aber nicht alle Browser berücksichtigen dies.
Der einfachste Trick besteht darin, die URL so zu erweitern, dass der letzte Teil den gewünschten Dateinamen enthält:
%Vor% Hinweis: Ich habe auch den Dateinamen am Ende der Abfragezeichenfolge hinzugefügt ( name
spielt keine Rolle), da einige Browser diesen Teil verwenden.
Abhängig von Ihrer Serverkonfiguration wird dies sofort ohne spezielle Konfiguration funktionieren (keine mod_rewrite oder ähnliches). Sie können überprüfen, ob es auf Ihrem Server funktioniert, indem Sie einfach " /foo
" an eine PHP-URL Ihrer Website anhängen. Wenn Sie die Ausgabe Ihres PHP sehen, ist alles gut. Wenn Sie einen 404-Fehler sehen, kann Ihre Serverkonfiguration solche URLs nicht verarbeiten.
Sie können es im Header Content-Disposition
HTTP angeben:
Einige Browser (insbesondere Internet Explorer) ignorieren diesen Header jedoch wahrscheinlich. Die kugelsicherste Lösung besteht darin, die URL zu fälschen und den Browser glauben zu lassen, dass er eine statische Datei wie /images/5/foo.png
herunterlädt, während der tatsächliche Pfad hinter den Kulissen /picture_generator.php?image_id=5&extension=.png
ist. Dies kann durch einige Webserver-Module wie Apache mod_rewrite erreicht werden.
Tags und Links php image save-image