Gibt es in CSS oder in HTML eine Möglichkeit eine Verknüpfung zu einem Bild oder ähnlichem aus einer seperaten Datei zu holen?

  • Ich möchte Bilder, Symbole, etc ... für mehrere Domains auf eine Adresse legen ... also zum Beispiel in xxxx.com/images Diese Bilder sind dann zuhause auch noch einmal vorhanden (für die Entwicklungsarbeiten) ... also in z:\images

    Ich würde jetzt gerne eine Datei haben, in der der Pfad steht ... also: http://xxxx.com/images oder z:\images und aus dieser Datei holt sich dann die WEB-Seite den Pfad... und dann hat es in der html Datei nicht src:"http://xxxx.com/images/logo.jpg" sondern irgend etwas wie src:"DEFAULT-PATH/logo.jpg"


    Hat jemand von Euch eine Idee, wie man das machen könnte?


    danke,

    brainstuff

  • Was am Ende im src-Attribut steht, kannst Du nicht beeinflussen, dort muss der absolute oder relative Pfad zum Bild stehen, egal ob URL oder lokal.

    Du kannst im src allerdings auf eine PHP-Datei verweisen und in dieser das geforderte Bild laden und ausliefern, dann hättest Du sowas wie:

    Code
    <img src="https://www.example.com/images.php?img=logo" alt="foobar">

    Dann wäre eine Möglichkeit in PHP:

    PHP
    <?php
    header( 'Content-Type: image/jpeg;' );
    
    $sHost = $_SERVER['REMOTE_HOST'];
    $sImage = isset( $_GET['img'] ) ? $_GET['img'] : null;
    
    $sPath = __DIR__ . '/images/' . $sHost . '/' . $sImage . '.png';
    readfile( $sPath );

    Alles aus'm Ärmel, also kein Anspruch auf Vollständigkeit oder irgendwie getestet.

    Soll hat nur zeigen, in welcher Art das machbar wäre.

  • Danke Arne ... das ist das was ich wissen muss: es ist auf diese Art und Weise auch nicht viel weniger umständlich wie wenn man den Pfad im html schreibt.

    Ich hatte gehofft, dass es wenigstens etwas gibt wie <img src="/images/smiley.gif" alt="http://xxx.com/images/Smiley.gif">


    Danke,

    brainstuff

  • Gibt es bzw. kann man sich bauen. Wird auch bei Tools, wie bspw. Lazyload verwendet.

    Frag mich nicht nach dem extakten Attribut, aber es geht da glaube ich so vor, dass das src-Attribut leer bleibt und der korrekt Pfad in einem data-Attribut hinterlegt ist, in etwa so:

    Code
    <img src="" data-href="https://www.example.com/images/logo.png" alt="">

    Über Javascript kann man dann die Bilder anhand des data-Attribut "nachladen".

    In wie weit das Sinn macht für Dein Vorhaben weiß ich allerdings nicht...

  • Arne Drews ... ich verwalte/entwickle zur Zeit 5 Domains, die alle auf einem Server gehostet sind. (Später wird es noch Mirroir-Server geben).


    Die entwickle ich eigentlich zu Hause, da sind die einzelnen Domains auf einem NAS gespeichert. Also Z:\domain01\images\image01.jpg ... oder Z:\domain01\index.html . Auf dem Server heisst das dann \images\image01.jpg bzw index.html ohne das Laufwerk und ohne den Sub-Dir.


    Viele Bilder sind "Standard" und werden in allen Domains verwendet. Deshalb wäre es eigentlich ideal, zum Beispiel die Bilder alle auf Z:\images zu legen ... aber auf dem Server gibt es keinen übergeordneten Ordner. Das umgehe ich damit, dass ich die Bilder auf eine spezielle Domain lege also xxx.com/images und dann schreibe ich diesen kompletten Namen als Adresse in die HTML Dateien.


    Das hat aber zuhause den Nachteil, dass alle diese Bilder im Internet zu finden sein müssen ... man kann also Seiten nicht einfach zu Hause (mit den Bildern in einem lokalen Ordner) ausprobieren und dann die Dateien unverändert auf den Server kopieren ..


    Eine Idee ist zum Beispiel auch, dass ich Serien von Hintergrund-Bildern und -Videos in Ordner lege die images01 ... images10 heissen ... wenn diese Bilder dann von einer Seite aufgerufen werden, dann wird zum Beispiel das angezeigt, was im Ordner images02 liegt- Da könnte ich hingehen und diese Ordner periodisch umzubenennen (aus images01 wird images02 und so weiter) dann ändert sich auf den Seiten der Hintergrund ohne, dass ich da etwas anden Seiten ändern muss.


    Es ist auch von der Verwaltung der Seiten her besser, wenn es gleiche Bilder nicht auf jeder Domain hat ... wenn man zum Beispiel ein Bild neu gestaltet, dann ist es mühsam, wenn man das dann in 5 Domains updaten muss.


    Was mir als "Lösung" noch einfällt, wäre dass ich einfach alle Standard-Bilder und Videos in einen Ordner lege (images-std) und den dann einfach auf alle Domains kopiere. Aber dann wird das mit dem umbenennen der Unterordner zu umständlich ... Das hätte aber den Vorteil, dass man nicht sieht, dass die Bilder Standard-Bilder sind, die auch auf den anderen Domains verwendet werden.


    Das Problem mit der herkuftsverschleierung könnte ich zwar damit beseitigen, dass ich eine fiktive Domain einrichte auf der ich dann die Bilder speichere und die ich nicht mit einem Domainnamen, sondern mit der IP Nummer anspringe ... aber das ist auch keine gute Lösung: manchmal ändert der Server seine IP-Nummer, weil es zum Beispiel einen DDOS Angriff hat .. und dann müsste ich wieder alles umschreiben.


    Und die Idee, alle Domains in Unter-Ordner von einer Domain zu stecken und dann per Refresh auf diese Domains zuzugreifen ist auch Murks ... schon wegen den Suchmaschinen.


    Danke,

    brainstuff

  • Das umgehe ich damit, dass ich die Bilder auf eine spezielle Domain lege also xxx.com/images und dann schreibe ich diesen kompletten Namen als Adresse in die HTML Dateien.

    Klingt nach dem Standard, der von vielen verwendet wird...


    Das hat aber zuhause den Nachteil, dass alle diese Bilder im Internet zu finden sein müssen ... man kann also Seiten nicht einfach zu Hause (mit den Bildern in einem lokalen Ordner) ausprobieren und dann die Dateien unverändert auf den Server kopieren ..

    Was hindert Dich, zu Hause eine sechste Domain anzulegen, die den "Bilderserver" repräsentiert?!

  • Zitat

    Arne Drews "Was hindert Dich, zu Hause eine sechste Domain anzulegen, die den "Bilderserver" repräsentiert?!"

    "zu Hause" auf dem NAS wäre das ein Verzeichnis ... z:/x-domain/ auf dem Server wäre das dann eine domain http://meine-Bilder.com/images oder http://233.233.233.001/images (auf demServer müsste das eine echte Domain (keine IP Nummer) oder eine sub-Domain (http:meine Bilder.xxx.com) sein das wäre dann für Suchmaschinen Einträge nicht optimal. Eine IP Nummer als Adresse wäre zwar ziemlich brauchbar (weil sie keinen Bezug zu einer echten Domain hat) aber da die IP Nummer von meinem Server manchmal geändert wird geht das nicht.


    danke,

    brainstuff

  • Zu Hause entwickelst Du doch hoffentlich nur?!

    Da ist es doch vollkommen egal, wo die Bilder liegen, solange sie lokal offline verfügbar sind.

    Sobald Du online gehst, passt Du die das doch an oder was hast Du vor?

  • Arne Drews Das Anpassen mache ich zur Zeit aber ich suche nach einem Weg, mit dem ich dafür sorgen kann, dass die Pfade in der lokalen Version 1:1 funktionieren, wenn ich die Dateien der Domain auf den Server kopiere (ohne dass ich da die Pfade anpassen muss.

    Alles was ich da gefunden habe ist, dass man das mit Pfaden wie ../../images für xxx.com/images lösen kann. Aber das ist nicht sehr übersichtlich.


    Ich habe auch versucht ob es mit einem Subst Directory auf dem NAS möglich ist ... wo dann der Pfad z:/images würde aber das ist auch nicht optimal und ausserdem geht das mit den SUBST Drives anscheinend nicht auf einem NAS ... Ich stosse da auf das Problem von WIndows, was nur "Laufwerke" hat die mit einem Buchstaben anfangen .... und es hat einfach nicht genug Laufwerkbuchstaben.


    Die Idee von LINUX, Namen für Laufwerke zu vergeben ist von mir aus gesehen besser, aber es sollte möglich sein, das System, mit den Namen für Laufwerke auf Buchstaben auszudehnen und auch SUBST Laufwerke schaffen kann ... so dass man einem LINUX "Laufwerk" einfach einen Laufwerksbuchstaben als Alias geben kann. Im Grunde genommen, ist jeder Ordner ein SUBST-"Laufwerk" .... auf welcher Festplatte jetzt "home" ist und ob das nun "home", oder c: heisst ist eigentlich Nebensache.


    Danke,

    brainstuff

  • Für sowas nutze ich immer Konfigurationen, dann muss ich nur zwischen Live und Debug/Development switchen, damit die korrekten Pfade verwendet werden.

    Alles andere halte ich persönlich für unverhältnismässigen Aufwand.


    Nicht getestet, aber ich könnte mir vorstellen, dass es funktioniert, wenn Du einen XAMPP installierst, dann die Domains 1:1 lokal anlegst und über die hosts Datei auf 127.0.0.1 setzt. Dann müsste man das später 1:1 kopieren können. Dann musst Du allerdings nur daran denken, Deine hosts Datei wieder zu bereinigen.


    Wie gesagt, eine Konfiguration halte ich dennoch immer noch für am sinnvollsten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!